Timeline
May 3, 2018:
- 11:03 PM Changeset in webkit [231348] by
-
- 11 edits in trunk/Source/WebKit
More aggressively terminate child processes when the connection to their parent process is severed
https://bugs.webkit.org/show_bug.cgi?id=177972
<rdar://problem/33317607>
Reviewed by Geoff Garen.
More aggressively terminate child processes when the connection to their parent process is severed.
Previously, we would dispatch to the main thread and then exit the process. This would sometimes
cause the process to say alive for 10 seconds until our watchdog would forcefully terminate the
process. This could happen in particular when the main thread is blocked on a synchronous IPC.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didClose): Deleted.
- NetworkProcess/NetworkProcess.h:
- PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::didClose): Deleted.
- PluginProcess/PluginProcess.h:
- Shared/ChildProcess.cpp:
(WebKit::ChildProcess::didClose):
(WebKit::didCloseOnConnectionWorkQueue):
(WebKit::ChildProcess::terminationTimerFired):
- Shared/ChildProcess.h:
- StorageProcess/StorageProcess.cpp:
(WebKit::StorageProcess::didClose): Deleted.
- StorageProcess/StorageProcess.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didClose): Deleted.
- WebProcess/WebProcess.h:
- 10:32 PM Changeset in webkit [231347] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove std::random_shuffle
https://bugs.webkit.org/show_bug.cgi?id=185292
Reviewed by Darin Adler.
std::random_shuffle is deprecated in C++14 and removed in C++17,
since std::random_shuffle relies on rand and srand.
Use std::shuffle instead.
- jit/BinarySwitch.cpp:
(JSC::RandomNumberGenerator::RandomNumberGenerator):
(JSC::RandomNumberGenerator::operator()):
(JSC::RandomNumberGenerator::min):
(JSC::RandomNumberGenerator::max):
(JSC::BinarySwitch::build):
- 10:28 PM Changeset in webkit [231346] by
-
- 4 edits in trunk/Source/WebCore
Use subprocess.call instead of os.system to handle path with spaces
https://bugs.webkit.org/show_bug.cgi?id=185291
Reviewed by Darin Adler.
If gperf path includes spaces, these python scripts fail to execute gperf.
We use subprocess module instead of os.system to invoke gperf.
- css/makeSelectorPseudoClassAndCompatibilityElementMap.py:
- css/makeSelectorPseudoElementsMap.py:
- platform/network/create-http-header-name-table:
- 9:33 PM Changeset in webkit [231345] by
-
- 13 edits2 adds in trunk
Don't prevent CreateThis being folded to NewObject when the structure is poly proto
https://bugs.webkit.org/show_bug.cgi?id=185177
Reviewed by Filip Pizlo.
JSTests:
- microbenchmarks/construct-poly-proto-object.js: Added.
(foo.A):
(foo):
- stress/allocation-sinking-new-object-with-poly-proto.js: Added.
(foo.A):
(foo):
(makePolyProto):
(bar):
(baz):
Source/JavaScriptCore:
This patch teaches the DFG/FTL how to constant fold CreateThis with
a known poly proto Structure to NewObject. We do it by emitting a NewObject
followed by a PutByOffset for the prototype value.
We make it so that ObjectAllocationProfile holds the prototype value.
This is sound because JSFunction clears that profile when its 'prototype'
field changes.
This patch also renames underscoreProtoPrivateName to polyProtoName since
that name was nonsensical: it was only used for poly proto.
This is a 2x speedup on the get_callee_polymorphic microbenchmark. I had
regressed that benchmark when I first introduced poly proto.
- builtins/BuiltinNames.cpp:
- builtins/BuiltinNames.h:
(JSC::BuiltinNames::BuiltinNames):
(JSC::BuiltinNames::polyProtoName const):
(JSC::BuiltinNames::underscoreProtoPrivateName const): Deleted.
- bytecode/ObjectAllocationProfile.h:
(JSC::ObjectAllocationProfile::prototype):
(JSC::ObjectAllocationProfile::clear):
(JSC::ObjectAllocationProfile::visitAggregate):
- bytecode/ObjectAllocationProfileInlines.h:
(JSC::ObjectAllocationProfile::initializeProfile):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGOperations.cpp:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/FunctionRareData.h:
- runtime/Structure.cpp:
(JSC::Structure::create):
- 6:50 PM Changeset in webkit [231344] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, attempt to fix WinCairo build failure
https://bugs.webkit.org/show_bug.cgi?id=185218
- platform/text/win/LocaleWin.cpp:
(WebCore::LocaleWin::getLocaleInfoString):
- 6:11 PM Changeset in webkit [231343] by
-
- 3 edits1 add in trunk
OSR entry pruning of Program Bytecodes doesn't take into account try/catch
https://bugs.webkit.org/show_bug.cgi?id=185281
Reviewed by Saam Barati.
JSTests:
New regression test.
- stress/baseline-osrentry-catch-is-reachable.js: Added.
(i.j.catch):
Source/JavaScriptCore:
When we compute bytecode block reachability, we need to take into account blocks
containing try/catch.
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- 6:00 PM Changeset in webkit [231342] by
-
- 6 edits in trunk/Source
Use default std::optional if it is provided
https://bugs.webkit.org/show_bug.cgi?id=185159
Reviewed by Michael Catanzaro.
Source/WebKit:
- Shared/SandboxExtension.h:
(WebKit::SandboxExtension::Handle::decode):
- Shared/TouchBarMenuItemData.cpp:
(WebKit::TouchBarMenuItemData::decode):
Source/WTF:
- wtf/Expected.h:
- wtf/Optional.h:
Do not use <optional> for clang currently.
(WTF::valueOrCompute):
- 5:55 PM Changeset in webkit [231341] by
-
- 2 edits in trunk/Source/JavaScriptCore
ARM: Wrong offset for operand rt in disassembler
https://bugs.webkit.org/show_bug.cgi?id=184083
Patch by Dominik Infuehr <dinfuehr@igalia.com> on 2018-05-03
Reviewed by Yusuke Suzuki.
- disassembler/ARMv7/ARMv7DOpcode.h:
(JSC::ARMv7Disassembler::ARMv7DOpcodeVMOVDoublePrecision::rt):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVMOVSinglePrecision::rt):
- 5:54 PM Changeset in webkit [231340] by
-
- 3 edits in trunk/Source/JavaScriptCore
ARM: Support vstr in disassembler
https://bugs.webkit.org/show_bug.cgi?id=184084
Patch by Dominik Infuehr <dinfuehr@igalia.com> on 2018-05-03
Reviewed by Yusuke Suzuki.
- disassembler/ARMv7/ARMv7DOpcode.cpp:
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDRSTR::format):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::format): Deleted.
- disassembler/ARMv7/ARMv7DOpcode.h:
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDRSTR::opName):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::condition): Deleted.
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::uBit): Deleted.
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::rn): Deleted.
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::vd): Deleted.
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::doubleReg): Deleted.
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::immediate8): Deleted.
- 5:49 PM Changeset in webkit [231339] by
-
- 2 edits in trunk/Source/JavaScriptCore
Invoke ensureArrayStorage for all arguments
https://bugs.webkit.org/show_bug.cgi?id=185247
Patch by Dominik Infuehr <dinfuehr@igalia.com> on 2018-05-03
Reviewed by Yusuke Suzuki.
ensureArrayStorage was only invoked for first argument in each loop iteration.
- jsc.cpp:
(functionEnsureArrayStorage):
- 5:41 PM Changeset in webkit [231338] by
-
- 10 edits2 adds1 delete in trunk/Source/JavaScriptCore
Make it easy to log compile times for all optimizing tiers
https://bugs.webkit.org/show_bug.cgi?id=185270
Reviewed by Keith Miller.
This makes --logPhaseTimes=true enable logging of phase times for DFG and B3 using a common
helper class, CompilerTimingScope. This used to be called B3::TimingScope and only B3 used
it.
This should help us reduce compile times by telling us where to look. So, far, it looks like
CFA is the worst.
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- b3/B3Common.cpp:
(JSC::B3::shouldMeasurePhaseTiming): Deleted.
- b3/B3Common.h:
- b3/B3TimingScope.cpp: Removed.
- b3/B3TimingScope.h:
(JSC::B3::TimingScope::TimingScope):
- dfg/DFGPhase.h:
(JSC::DFG::runAndLog):
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThread):
- tools/CompilerTimingScope.cpp: Added.
(JSC::CompilerTimingScope::CompilerTimingScope):
(JSC::CompilerTimingScope::~CompilerTimingScope):
- tools/CompilerTimingScope.h: Added.
- runtime/Options.cpp:
(JSC::recomputeDependentOptions):
- runtime/Options.h:
- 5:40 PM Changeset in webkit [231337] by
-
- 35 edits3 deletes in trunk/Source
Strings should not be allocated in a gigacage
https://bugs.webkit.org/show_bug.cgi?id=185218
Reviewed by Saam Barati.
Source/bmalloc:
This removes the string gigacage.
Putting strings in a gigacage prevents read gadgets. The other things that get to be in gigacages
are there to prevent read-write gadgets.
Also, putting strings in a gigacage seems to have been a bigger regression than putting other
things in gigacages.
Therefore, to maximize the benefit/cost ratio of gigacages, we should evict strings from them. If
we want to throw away perf for security, there are more beneficial things to sacrifice.
- bmalloc/Gigacage.h:
(Gigacage::name):
(Gigacage::basePtr):
(Gigacage::size):
(Gigacage::forEachKind):
- bmalloc/HeapKind.h:
(bmalloc::isGigacage):
(bmalloc::gigacageKind):
(bmalloc::heapKind):
(bmalloc::isActiveHeapKindAfterEnsuringGigacage):
(bmalloc::mapToActiveHeapKindAfterEnsuringGigacage):
Source/JavaScriptCore:
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::toStringGeneric):
- runtime/JSString.cpp:
(JSC::JSRopeString::resolveRopeToAtomicString const):
(JSC::JSRopeString::resolveRope const):
- runtime/JSString.h:
(JSC::JSString::create):
(JSC::JSString::createHasOtherOwner):
- runtime/VM.h:
(JSC::VM::gigacageAuxiliarySpace):
Source/WebCore:
No new tests because no new behavior.
- Modules/indexeddb/server/IDBSerialization.cpp:
(WebCore::decodeKey):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readString):
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::normalizeSpaces):
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace):
- platform/URLParser.cpp:
(WebCore::percentEncodeByte):
(WebCore::serializeURLEncodedForm):
(WebCore::URLParser::serialize):
- platform/URLParser.h:
- platform/graphics/FourCC.cpp:
(WebCore::FourCC::toString const):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::ReplicaState::cloneID const):
- platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::decimalSymbol):
(WebCore::LocaleICU::decimalTextAttribute):
(WebCore::getDateFormatPattern):
(WebCore::LocaleICU::createLabelVector):
(WebCore::getFormatForSkeleton):
- platform/win/FileSystemWin.cpp:
(WebCore::FileSystem::getFinalPathName):
(WebCore::FileSystem::pathByAppendingComponent):
(WebCore::FileSystem::storageDirectory):
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- wtf/Deque.h:
- wtf/Forward.h:
- wtf/Gigacage.h:
(Gigacage::name):
(Gigacage::basePtr):
- wtf/Vector.h:
(WTF::VectorBufferBase::allocateBuffer):
(WTF::VectorBufferBase::tryAllocateBuffer):
(WTF::VectorBufferBase::reallocateBuffer):
(WTF::VectorBufferBase::deallocateBuffer):
(WTF::minCapacity>::Vector):
(WTF::=):
(WTF::minCapacity>::contains const):
(WTF::minCapacity>::findMatching const):
(WTF::minCapacity>::find const):
(WTF::minCapacity>::reverseFind const):
(WTF::minCapacity>::appendIfNotContains):
(WTF::minCapacity>::fill):
(WTF::minCapacity>::appendRange):
(WTF::minCapacity>::expandCapacity):
(WTF::minCapacity>::tryExpandCapacity):
(WTF::minCapacity>::resize):
(WTF::minCapacity>::resizeToFit):
(WTF::minCapacity>::shrink):
(WTF::minCapacity>::grow):
(WTF::minCapacity>::asanSetInitialBufferSizeTo):
(WTF::minCapacity>::asanSetBufferSizeToFullCapacity):
(WTF::minCapacity>::asanBufferSizeWillChangeTo):
(WTF::minCapacity>::reserveCapacity):
(WTF::minCapacity>::tryReserveCapacity):
(WTF::minCapacity>::reserveInitialCapacity):
(WTF::minCapacity>::shrinkCapacity):
(WTF::minCapacity>::append):
(WTF::minCapacity>::tryAppend):
(WTF::minCapacity>::constructAndAppend):
(WTF::minCapacity>::tryConstructAndAppend):
(WTF::minCapacity>::appendSlowCase):
(WTF::minCapacity>::constructAndAppendSlowCase):
(WTF::minCapacity>::tryConstructAndAppendSlowCase):
(WTF::minCapacity>::uncheckedAppend):
(WTF::minCapacity>::appendVector):
(WTF::minCapacity>::insert):
(WTF::minCapacity>::insertVector):
(WTF::minCapacity>::remove):
(WTF::minCapacity>::removeFirst):
(WTF::minCapacity>::removeFirstMatching):
(WTF::minCapacity>::removeAll):
(WTF::minCapacity>::removeAllMatching):
(WTF::minCapacity>::reverse):
(WTF::minCapacity>::map const):
(WTF::minCapacity>::releaseBuffer):
(WTF::minCapacity>::checkConsistency):
(WTF::swap):
(WTF::operator==):
(WTF::operator!=):
(WTF::removeRepeatedElements):
(WTF::Malloc>::Vector): Deleted.
(WTF::Malloc>::contains const): Deleted.
(WTF::Malloc>::findMatching const): Deleted.
(WTF::Malloc>::find const): Deleted.
(WTF::Malloc>::reverseFind const): Deleted.
(WTF::Malloc>::appendIfNotContains): Deleted.
(WTF::Malloc>::fill): Deleted.
(WTF::Malloc>::appendRange): Deleted.
(WTF::Malloc>::expandCapacity): Deleted.
(WTF::Malloc>::tryExpandCapacity): Deleted.
(WTF::Malloc>::resize): Deleted.
(WTF::Malloc>::resizeToFit): Deleted.
(WTF::Malloc>::shrink): Deleted.
(WTF::Malloc>::grow): Deleted.
(WTF::Malloc>::asanSetInitialBufferSizeTo): Deleted.
(WTF::Malloc>::asanSetBufferSizeToFullCapacity): Deleted.
(WTF::Malloc>::asanBufferSizeWillChangeTo): Deleted.
(WTF::Malloc>::reserveCapacity): Deleted.
(WTF::Malloc>::tryReserveCapacity): Deleted.
(WTF::Malloc>::reserveInitialCapacity): Deleted.
(WTF::Malloc>::shrinkCapacity): Deleted.
(WTF::Malloc>::append): Deleted.
(WTF::Malloc>::tryAppend): Deleted.
(WTF::Malloc>::constructAndAppend): Deleted.
(WTF::Malloc>::tryConstructAndAppend): Deleted.
(WTF::Malloc>::appendSlowCase): Deleted.
(WTF::Malloc>::constructAndAppendSlowCase): Deleted.
(WTF::Malloc>::tryConstructAndAppendSlowCase): Deleted.
(WTF::Malloc>::uncheckedAppend): Deleted.
(WTF::Malloc>::appendVector): Deleted.
(WTF::Malloc>::insert): Deleted.
(WTF::Malloc>::insertVector): Deleted.
(WTF::Malloc>::remove): Deleted.
(WTF::Malloc>::removeFirst): Deleted.
(WTF::Malloc>::removeFirstMatching): Deleted.
(WTF::Malloc>::removeAll): Deleted.
(WTF::Malloc>::removeAllMatching): Deleted.
(WTF::Malloc>::reverse): Deleted.
(WTF::Malloc>::map const): Deleted.
(WTF::Malloc>::releaseBuffer): Deleted.
(WTF::Malloc>::checkConsistency): Deleted.
- wtf/text/AtomicStringImpl.h:
- wtf/text/CString.cpp:
(WTF::CStringBuffer::createUninitialized):
- wtf/text/CString.h:
- wtf/text/StringBuffer.h:
(WTF::StringBuffer::StringBuffer):
(WTF::StringBuffer::~StringBuffer):
(WTF::StringBuffer::resize):
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl):
(WTF::StringImpl::destroy):
(WTF::StringImpl::createUninitializedInternalNonEmpty):
(WTF::StringImpl::reallocateInternal):
(WTF::StringImpl::releaseAssertCaged const): Deleted.
- wtf/text/StringImpl.h:
(WTF::StringImpl::createSubstringSharingImpl):
(WTF::StringImpl::tryCreateUninitialized):
(WTF::StringImpl::adopt):
(WTF::StringImpl::assertCaged const): Deleted.
- wtf/text/StringMalloc.cpp: Removed.
- wtf/text/StringMalloc.h: Removed.
- wtf/text/StringVector.h: Removed.
- wtf/text/SymbolImpl.h:
- wtf/text/UniquedStringImpl.h:
- wtf/text/WTFString.h:
(WTF::String::adopt):
(WTF::String::assertCaged const): Deleted.
(WTF::String::releaseAssertCaged const): Deleted.
- 4:54 PM Changeset in webkit [231336] by
-
- 2 edits in trunk/Tools
[WinCairo] Test archive must use Python zipfile, just like build product.
https://bugs.webkit.org/show_bug.cgi?id=185265
Reviewed by Per Arne Vollan.
- BuildSlaveSupport/test-result-archive:
(archive_test_results):
Copy over Win32-oriented archiving logic from built-product-archive.
- 4:51 PM Changeset in webkit [231335] by
-
- 4 edits in trunk/Source/WebCore
Widgets should hold a WeakPtr to their parents
https://bugs.webkit.org/show_bug.cgi?id=185239
<rdar://problem/39741250>
Reviewed by Zalan Bujtas.
- platform/ScrollView.h:
(WebCore::ScrollView::weakPtrFactory): Added.
- platform/Widget.cpp:
(WebCore::Widget::init): Don't perform an unnecessary assignment.
(WebCore::Widget::setParent): Grab a WeakPtr to the parent ScrollView.
- platform/Widget.h:
(WebCore::Widget::parent const): Change type to a WeakPtr.
- 4:43 PM Changeset in webkit [231334] by
-
- 2 edits1 copy in trunk/LayoutTests
Revert the unitended changes in r231329.
- http/tests/media/video-play-stall.html: Replaced with LayoutTests/http/tests/media/video-play-stall.html.
- platform/mac/TestExpectations:
- 4:34 PM Changeset in webkit [231333] by
-
- 15 edits in trunk/Source/WebCore
Use pointer instead of std::optional<T&>
https://bugs.webkit.org/show_bug.cgi?id=185186
Reviewed by Alex Christensen.
std::optional<T&> is not accepted in C++17 spec.
In this patch, we replace it with T*, which is well-aligned to
WebKit's convention.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::iceServersFromConfiguration):
(WebCore::RTCPeerConnection::initializeConfiguration):
(WebCore::RTCPeerConnection::setConfiguration):
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseSystemColor):
- css/parser/CSSParser.h:
- dom/DatasetDOMStringMap.cpp:
(WebCore::DatasetDOMStringMap::item const):
(WebCore::DatasetDOMStringMap::namedItem const):
(WebCore:: const): Deleted.
- dom/DatasetDOMStringMap.h:
- dom/Element.cpp:
(WebCore::Element::insertAdjacentHTML):
- dom/Element.h:
- html/canvas/CanvasStyle.cpp:
(WebCore::parseColor):
- inspector/DOMEditor.cpp:
- platform/network/curl/CurlFormDataStream.cpp:
(WebCore::CurlFormDataStream::getPostData):
(): Deleted.
- platform/network/curl/CurlFormDataStream.h:
- platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::setupPOST):
- testing/MockCDMFactory.cpp:
(WebCore::MockCDMFactory::keysForSessionWithID const):
(WebCore::MockCDMInstance::updateLicense):
(WebCore:: const): Deleted.
- testing/MockCDMFactory.h:
- 4:21 PM Changeset in webkit [231332] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix 32-bit profile offset for change in bytecode
length of the get_by_id and get_array_length opcodes.
- llint/LowLevelInterpreter32_64.asm:
- 4:18 PM Changeset in webkit [231331] by
-
- 24 edits2 adds in trunk
Stop using an iframe's id as fallback if its name attribute is not set
https://bugs.webkit.org/show_bug.cgi?id=11388
Reviewed by Geoff Garen.
Source/WebCore:
WebKit had logic to use an iframe's id as fallback name when its name
content attribute is not set. This behavior was not standard and did not
match other browsers:
Gecko / Trident never behaved this way. Blink was aligned with us until
they started to match the specification in:
This WebKit quirk was causing some Web-compatibility issues because it
would affect the behavior of Window's name property getter when trying
to look up an iframe by id. Because of Window's named property getter
behavior [1], we would return the frame's contentWindow instead of the
iframe element itself.
[1] https://html.spec.whatwg.org/multipage/window-object.html#named-access-on-the-window-object
Test: fast/dom/Window/named-getter-frame-id.html
- html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::openURL):
(WebCore::HTMLFrameElementBase::parseAttribute):
(WebCore::HTMLFrameElementBase::didFinishInsertingNode):
- html/HTMLFrameElementBase.h:
LayoutTests:
- fast/dom/Window/named-getter-frame-id-expected.txt: Added.
- fast/dom/Window/named-getter-frame-id.html: Added.
Add layout test coverage.
- fast/dom/Geolocation/srcdoc-getCurrentPosition-expected.txt:
- fast/dom/Geolocation/srcdoc-watchPosition-expected.txt:
- fast/dom/HTMLAnchorElement/anchor-in-noscroll-iframe-crash.html:
- fast/dom/Window/window-special-properties-expected.txt:
- fast/frames/iframe-no-name-expected.txt:
- fast/frames/iframe-no-name.html:
- fast/layers/prevent-hit-test-during-layout.html:
- fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt:
- http/tests/security/clipboard/copy-paste-html-cross-origin-iframe-across-origin.html:
- http/tests/security/contentSecurityPolicy/iframe-blank-url-programmatically-add-external-script-expected.txt:
- http/tests/security/cross-origin-reified-window-property-access.html:
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame-expected.txt:
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-but-try-access-from-wrong-frame-expected.txt:
- http/tests/webrtc/filtering-ice-candidate-same-origin-frame.html:
- http/wpt/beacon/keepalive-after-navigation-expected.txt:
- http/wpt/cache-storage/cache-remove-twice.html:
Update some layout tests that relied on our old (non-standard) behavior.
- 3:10 PM Changeset in webkit [231330] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Internal text and audio tracks not in fullscreen menu
https://bugs.webkit.org/show_bug.cgi?id=185268
<rdar://problem/38673440>
Reviewed by Jer Noble.
- platform/cocoa/PlaybackSessionModelMediaElement.mm:
(WebCore::PlaybackSessionModelMediaElement::setMediaElement): 'addtrack' and 'removetrack'
events are fired at the track lists, not the media element.
- 2:34 PM Changeset in webkit [231329] by
-
- 12 edits2 adds in trunk
Using image map inside a shadow tree results hits a release assert in DocumentOrderedMap::add
https://bugs.webkit.org/show_bug.cgi?id=185238
Reviewed by Antti Koivisto.
Source/WebCore:
The bug was caused by DocumentOrderedMap for the image elements with usemap being stored in Document
even if those image elements were in a shadow tree. Fixed the bug by moving the map to TreeScope.
Test: fast/images/imagemap-in-nested-shadow-tree.html
fast/images/imagemap-in-shadow-tree.html
- dom/Document.cpp:
(WebCore::Document::addImageElementByUsemap): Moved to TreeScope.
(WebCore::Document::removeImageElementByUsemap): Ditto.
(WebCore::Document::imageElementByUsemap const): Ditto.
- dom/Document.h:
- dom/TreeScope.cpp:
(WebCore::TreeScope::destroyTreeScopeData): Clear m_imagesByUsemap as well as m_elementsByName.
(WebCore::TreeScope::getImageMap const): Removed the code to parse usemap. RenderImage::imageMap()
which used to call this function with the raw value of the usemap content attribute now calls it
via HTMLImageElement::associatedMapElement(), which uses the parsed usemap.
(WebCore::TreeScope::addImageElementByUsemap): Moved from Document.
(WebCore::TreeScope::removeImageElementByUsemap): Ditto.
(WebCore::TreeScope::imageElementByUsemap const): Ditto.
- dom/TreeScope.h:
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::insertedIntoAncestor): This image element can be associated with a map element
if it's connected to a document.
(WebCore::HTMLImageElement::removedFromAncestor):
(WebCore::HTMLImageElement::associatedMapElement const):
- html/HTMLImageElement.h:
- html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::imageElement):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::imageMap const):
LayoutTests:
- fast/images/imagemap-in-nested-shadow-tree-expected.txt: Added.
- fast/images/imagemap-in-nested-shadow-tree.html: Added.
- fast/images/imagemap-in-shadow-tree-expected.txt: Added.
- fast/images/imagemap-in-shadow-tree.html: Added.
- 2:27 PM Changeset in webkit [231328] by
-
- 3 edits in trunk/Tools
cleanup modules usage for the Test262-Runner
https://bugs.webkit.org/show_bug.cgi?id=185263
Patch by Leo Balter <Leo Balter> on 2018-05-03
Reviewed by Michael Saboff.
- Scripts/test262-runner:
- Scripts/test262/Runner.pm:
(processCLI):
- 2:08 PM Changeset in webkit [231327] by
-
- 4 edits in trunk/Source
[WebGL] Add runtime flag for enabling ASTC support in WebGL
https://bugs.webkit.org/show_bug.cgi?id=184840
Patch by Justin Fan <Justin Fan> on 2018-05-03
Reviewed by Myles C. Maxfield.
Added runtime flag for ASTC support in WebGL, to turn on/off when extension is implemented.
Source/WebCore:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setWebGLCompressedTextureASTCSupportEnabled):
(WebCore::RuntimeEnabledFeatures::webGLCompressedTextureASTCSupportEnabled const):
Source/WebKit:
- Shared/WebPreferences.yaml:
- 1:55 PM Changeset in webkit [231326] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed build fix after <https://trac.webkit.org/changeset/231282>.
- NetworkProcess/NetworkActivityTracker.h:
- 1:52 PM Changeset in webkit [231325] by
-
- 6 edits in trunk
Remove [NoInterfaceObject] from DOMRectList
https://bugs.webkit.org/show_bug.cgi?id=185255
Patch by Chris Nardi <cnardi@chromium.org> on 2018-05-03
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Update Geometry IDL test from upstream and update expectations.
- web-platform-tests/css/geometry/interfaces-expected.txt:
- web-platform-tests/css/geometry/interfaces.worker-expected.txt:
- web-platform-tests/interfaces/geometry.idl:
Source/WebCore:
In https://github.com/w3c/fxtf-drafts/issues/233, [NoInterfaceObject] was removed
from DOMRectList. Remove it from our implementation to match the spec, as well as
Chrome and Firefox.
Updated web platform tests IDL test for the Geometry spec.
- dom/DOMRectList.idl:
- 1:39 PM Changeset in webkit [231324] by
-
- 2 edits in trunk/Source/WebCore/PAL
[iOS] Provide audio route information when invoking AirPlay picker
https://bugs.webkit.org/show_bug.cgi?id=185199
<rdar://problem/39853103>
Another attempt at an unreviewed build fix.
- pal/spi/mac/AVFoundationSPI.h:
- 1:27 PM Changeset in webkit [231323] by
-
- 2 edits in trunk/Tools
test262/Runner.pm: minor fixes
https://bugs.webkit.org/show_bug.cgi?id=185250
Patch by Valerie R Young <valerie@bocoup.com> on 2018-05-03
Reviewed by Michael Saboff.
Add comments, change output and fix bug: unintended interpolation
of filename when running jsc.
- Scripts/test262/Runner.pm:
(processCLI):
(main):
(runTest):
- 1:16 PM Changeset in webkit [231322] by
-
- 5 edits in trunk/Source
Ads in NYTimes app are shifted downwards by the scroll view's top content inset
https://bugs.webkit.org/show_bug.cgi?id=185251
<rdar://problem/39062357>
Reviewed by Tim Horton.
Source/WebKit:
The NYTimes app embeds advertisements in each article's WKWebView by adding views in the WKScrollView's view
hierarchy. These views are positioned using the bounding client rects of elements in the DOM (via Element
::getBoundingClientRect). Prior to r229641, WebKit would report bounding client rects inset by the content
insets of WKScrollView, which means that if a top content inset X is specified on the scroll view, an element
that is flush against the top of the viewport will have a bounding client rect top of -X (when it should really
be 0).
To account for this, NYTimes adds the scroll view content insets back to the bounding client rect when
determining the position of each advertisement which, after r229641, causes these views to be shifted downwards
by an amount equal to the scroll view content inset top.
This new behavior does not affect Safari, since Safari uses SPI to explicitly set obscured insets. As such, we
address this by gating the scroll view content inset fix with a linked-on-or-after check.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _computedObscuredInset]):
- UIProcess/Cocoa/VersionChecks.h:
Source/WTF:
Add a new DYLD_IOS_VERSION macro definition for previous or non-internal SDKs.
- wtf/spi/darwin/dyldSPI.h:
- 12:59 PM Changeset in webkit [231321] by
-
- 10 edits1 add in trunk
Load hangs if the WebProcess fails to launch
https://bugs.webkit.org/show_bug.cgi?id=185225
<rdar://problem/38249058>
Reviewed by Geoff Garen.
Source/WebKit:
When a process fails to launch, ChildProcessProxy::didFinishLaunching() gets called with an
invalid connection identifier. While NetworkProcessProxy::didFinishLaunching() properly deals with
this situation, WebProcessProxy::didFinishLaunching() does not. As a result, we do not attempt to
relaunch the process, we do not notify the client and WebPageProxy::m_isValid stays true.
This patch thus updates WebProcessProxy::didFinishLaunching() to check if the connection identifier
is valid and treats it as a crash. As a result, the WebPageProxies properly reset their state and
the client gets notified of the crash so that it can attempt to reload.
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _makeNextWebProcessLaunchFailForTesting]):
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/Launcher/ProcessLauncher.h:
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess):
Add SPI to make the next WebProcess launch fail, for the purpose of API testing.
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getLaunchOptions):
(WebKit::WebProcessProxy::didClose):
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
(WebKit::WebProcessProxy::didFinishLaunching):
- UIProcess/WebProcessProxy.h:
Tools:
Add API test coverage.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm: Added.
(-[CrashOnStartNavigationDelegate _webView:webContentProcessDidTerminateWithReason:]):
(-[CrashOnStartNavigationDelegate webView:didFinishNavigation:]):
(-[CrashRecoveryScriptMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):
- 12:42 PM Changeset in webkit [231320] by
-
- 2 edits in trunk/LayoutTests
Mark media/controls/pip-placeholder-without-video-controls.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=170620
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 12:17 PM Changeset in webkit [231319] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(iOS 11.3): Crashes in TimerBase::~TimerBase() in Tencent x5gamehelper
https://bugs.webkit.org/show_bug.cgi?id=185073
<rdar://problem/39821223>
Reviewed by Alexey Proskuryakov.
The following changes were made:
- Make sure SocketStream callbacks are always scheduled on the right runloop: WebThreadRunLoop() on WebKitLegacy iOS, loaderRunLoop() on Windows and main runloop otherwise.
- When the SocketStream callbacks are called, unconditionally call callOnMainThreadAndWait() before calling methods on the SocketStream client. Previously, this code path was specific to Windows but there is no reason to have platform-specific code here. callOnMainThreadAndWait() calls the function right away if we're already on the main thread, which will be the case on other platform than Windows.
- platform/network/cf/SocketStreamHandleImplCFNet.cpp:
(WebCore::callbacksRunLoop):
(WebCore::callbacksRunLoopMode):
(WebCore::SocketStreamHandleImpl::scheduleStreams):
(WebCore::SocketStreamHandleImpl::pacExecutionCallback):
(WebCore::SocketStreamHandleImpl::executePACFileURL):
(WebCore::SocketStreamHandleImpl::removePACRunLoopSource):
(WebCore::SocketStreamHandleImpl::readStreamCallback):
(WebCore::SocketStreamHandleImpl::writeStreamCallback):
(WebCore::SocketStreamHandleImpl::platformClose):
- 11:39 AM Changeset in webkit [231318] by
-
- 3 edits in trunk/Source/WebCore
[LFC] Enable multiple layout roots for incremental layout.
https://bugs.webkit.org/show_bug.cgi?id=185185
Reviewed by Antti Koivisto.
With certain type of style changes, we can stop the box invalidation at the formatting context boundary.
When multiple boxes need updating in different formatting contexts, instead of marking the parent containing block chain all
the way up to a common ancestor, we could just work with a list of layout entry points per layout frame.
- layout/FormattingState.h:
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::updateLayout):
(WebCore::Layout::LayoutContext::addLayoutEntryPoint):
- layout/LayoutContext.h:
- 11:39 AM Changeset in webkit [231317] by
-
- 5 edits in trunk/Source/JavaScriptCore
WebContent crash loading page on seas.upenn.edu @ JavaScriptCore: vmEntryToJavaScript
https://bugs.webkit.org/show_bug.cgi?id=185231
Reviewed by Saam Barati.
We weren't clearing the scratch register cache when switching back and forth between
allowing scratch register usage. We disallow scratch register usage when we are in
code that will freely allocate and use any register. Such usage can change the
contents of scratch registers. For ARM64, where we cache the contents of scratch
registers to reuse some or all of the contained values, we need to invalidate these
caches. We do this when re-enabling scratch register usage, that is when we transition
from disallow to allow scratch register usage.
Added a new Air regression test.
- assembler/AllowMacroScratchRegisterUsage.h:
(JSC::AllowMacroScratchRegisterUsage::AllowMacroScratchRegisterUsage):
- assembler/AllowMacroScratchRegisterUsageIf.h:
(JSC::AllowMacroScratchRegisterUsageIf::AllowMacroScratchRegisterUsageIf):
- assembler/DisallowMacroScratchRegisterUsage.h:
(JSC::DisallowMacroScratchRegisterUsage::~DisallowMacroScratchRegisterUsage):
- b3/air/testair.cpp:
- 11:18 AM Changeset in webkit [231316] by
-
- 18 edits2 deletes in trunk/Source/JavaScriptCore
Remove the prototype caching for get_by_id in the LLInt
https://bugs.webkit.org/show_bug.cgi?id=185226
Reviewed by Michael Saboff.
There is no evidence that this is actually a speedup and we keep
getting bugs with it. At this point it seems like we should just
remove this code.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- bytecode/BytecodeDumper.cpp:
(JSC::BytecodeDumper<Block>::printGetByIdOp):
(JSC::BytecodeDumper<Block>::printGetByIdCacheStatus):
(JSC::BytecodeDumper<Block>::dumpBytecode):
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finalizeLLIntInlineCaches):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::llintGetByIdWatchpointMap): Deleted.
- bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
- bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.cpp: Removed.
- bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h: Removed.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitGetById):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::setupGetByIdPrototypeCache): Deleted.
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/Options.h:
- 11:13 AM Changeset in webkit [231315] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: Layout Test http/tests/security/location-cross-origin.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=185259
Unreviewed, stop relying on a setImeout(100) and epect the frame navigation to have completed. Instead,
use a setInterval() to poll until the cross-origin frame has navigated.
- http/tests/security/location-cross-origin.html:
- 10:51 AM Changeset in webkit [231314] by
-
- 2 edits in tags/Safari-606.1.16/Source/WTF
Revert r230930. rdar://problem/39945965
- 10:19 AM Changeset in webkit [231313] by
-
- 3 edits in trunk/Tools
[WinCairo] Add JSC test bots
https://bugs.webkit.org/show_bug.cgi?id=185234
Reviewed by Per Arne Vollan.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunJavaScriptCoreTests.start):
- 10:15 AM Changeset in webkit [231312] by
-
- 11 edits4 copies in trunk/Source/WebCore
[LFC] Box invalidation logic should go to dedicated classes.
https://bugs.webkit.org/show_bug.cgi?id=185249
Reviewed by Antti Koivisto.
Each formatting context can initiate a different type of invalidation when
style attribute changes in a box.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- layout/FormattingState.cpp:
(WebCore::Layout::FormattingState::FormattingState):
- layout/FormattingState.h:
(WebCore::Layout::FormattingState::isBlockFormattingState const):
(WebCore::Layout::FormattingState::isInlineFormattingState const):
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::styleChanged):
(WebCore::Layout::LayoutContext::markNeedsUpdate):
- layout/LayoutContext.h:
- layout/blockformatting/BlockFormattingState.cpp:
(WebCore::Layout::BlockFormattingState::BlockFormattingState):
- layout/blockformatting/BlockFormattingState.h:
- layout/blockformatting/BlockInvalidation.cpp: Copied from Source/WebCore/layout/blockformatting/BlockFormattingState.cpp.
(WebCore::Layout::BlockInvalidation::invalidate):
- layout/blockformatting/BlockInvalidation.h: Copied from Source/WebCore/layout/inlineformatting/InlineFormattingState.h.
- layout/inlineformatting/InlineFormattingState.cpp:
(WebCore::Layout::InlineFormattingState::InlineFormattingState):
- layout/inlineformatting/InlineFormattingState.h:
- layout/inlineformatting/InlineInvalidation.cpp: Copied from Source/WebCore/layout/inlineformatting/InlineFormattingState.cpp.
(WebCore::Layout::InlineInvalidation::invalidate):
- layout/inlineformatting/InlineInvalidation.h: Copied from Source/WebCore/layout/blockformatting/BlockFormattingState.h.
- 10:08 AM Changeset in webkit [231311] by
-
- 4 edits in trunk
WebKit should send fake macOS user agent to docs.google.com
https://bugs.webkit.org/show_bug.cgi?id=185165
Reviewed by Carlos Garcia Campos.
Source/WebCore:
- platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresMacintoshPlatform):
(WebCore::urlRequiresLinuxDesktopPlatform):
Tools:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
- 9:58 AM Changeset in webkit [231310] by
-
- 8 edits1 delete in trunk
Unreviewed, rolling out r231197.
The test added with this change crashes on the 32-bit JSC bot.
Reverted changeset:
"Correctly detect string overflow when using the 'Function'
constructor"
https://bugs.webkit.org/show_bug.cgi?id=184883
https://trac.webkit.org/changeset/231197
- 9:52 AM Changeset in webkit [231309] by
-
- 2 edits in trunk/Tools
test262/Runner.pm: performance improvements
https://bugs.webkit.org/show_bug.cgi?id=185202
Patch by Valerie R Young <valerie@bocoup.com> on 2018-05-03
Reviewed by Michael Saboff.
Batch the tests by the number of processes, and give each process
a file to save results to to avoid threading. Do not parallelize
when running small sets of tests.
- Scripts/test262/Runner.pm:
(processCLI):
(main):
(processFile):
(processResult):
- 9:37 AM Changeset in webkit [231308] by
-
- 21 edits in trunk/Source
Unreviewed, rolling out r231223 and r231288.
https://bugs.webkit.org/show_bug.cgi?id=185256
The change in r231223 breaks internal builds, and r231288 is a
dependent change. (Requested by ryanhaddad on #webkit).
Reverted changesets:
"Use default std::optional if it is provided"
https://bugs.webkit.org/show_bug.cgi?id=185159
https://trac.webkit.org/changeset/231223
"Use pointer instead of
std::optional<std::reference_wrapper<>>"
https://bugs.webkit.org/show_bug.cgi?id=185186
https://trac.webkit.org/changeset/231288
- 9:31 AM Changeset in webkit [231307] by
-
- 3 edits in trunk/Source/WebKit
An error message is written to stderr when the WebContent process is blocking WindowServer access.
https://bugs.webkit.org/show_bug.cgi?id=184701
Reviewed by Brent Fulgham.
Calling 'setApplicationIsDaemon(true)' instead of 'CGSSetDenyWindowServerConnections(true)' to disable
access to the WindowServer in the WebContent process, will remove this error message. After this change,
the url of the WebContent process is still showing up in Activity Monitor, which previously was a
problem when calling 'setApplicationIsDaemon(true)'.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeProcess):
- 9:01 AM Changeset in webkit [231306] by
-
- 14 edits in trunk
Unreviewed, rolling out r231253.
The API test added with this change is crashing on the bots.
Reverted changeset:
"Web Inspector: opt out of process swap on navigation if a Web
Inspector frontend is connected"
https://bugs.webkit.org/show_bug.cgi?id=184861
https://trac.webkit.org/changeset/231253
- 8:48 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 8:43 AM Changeset in webkit [231305] by
-
- 3 edits1 add1 delete in trunk/LayoutTests
Unreviewed GTK+ gardening after r231300.
- platform/gtk/TestExpectations:
- platform/gtk/compositing/layer-creation/overlap-animation-expected.txt: Removed.
- platform/gtk/editing/selection/select-all-004-expected.png:
- platform/gtk/editing/selection/select-all-004-expected.txt: Added.
- 8:08 AM Changeset in webkit [231304] by
-
- 3 edits2 adds in trunk
A MediaStream being played should allow removing some of its tracks
https://bugs.webkit.org/show_bug.cgi?id=185233
Reviewed by Eric Carlson.
Source/WebCore:
Update the tracks out of the for loop.
Test: fast/mediastream/change-tracks-media-stream-being-played.html
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::updateTracksOfType):
LayoutTests:
- fast/mediastream/change-tracks-media-stream-being-played-expected.txt: Added.
- fast/mediastream/change-tracks-media-stream-being-played.html: Added.
- 7:22 AM Changeset in webkit [231303] by
-
- 2 edits in tags/Safari-606.1.16/Source/WebKit
Cherry-pick r231295. rdar://problem/39928458
AX: Missing kAXSWebAccessibilityEventsEnabledNotification causes a crash
https://bugs.webkit.org/show_bug.cgi?id=185237
Reviewed by Dan Bernstein.
When libAccessibility.dylib is missing, the compiler would optimize out the global
notification and lead to a crash. Fixed it by using the isNullFunction check instead,
since we are sure the global notification would be there when the corresponding function
is available.
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231295 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:46 AM Changeset in webkit [231302] by
-
- 3 edits in trunk/Source/WebKit
Re-eneable Network Extension support in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=185236
<rdar://problem/39883004>
Reviewed by Eric Carlson.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 4:58 AM Changeset in webkit [231301] by
-
- 2 edits in trunk/Source/JavaScriptCore
Disable usage of fused multiply-add instructions for JSC with compiler flag
https://bugs.webkit.org/show_bug.cgi?id=184909
Patch by Dominik Infuehr <dinfuehr@igalia.com> on 2018-05-03
Reviewed by Yusuke Suzuki.
Adds -ffp-contract as compiler flag for building JSC. This ensures that functions
like parseInt() do not return slightly different results depending on whether the
compiler was able to use fused multiply-add instructions or not.
- CMakeLists.txt:
- 3:17 AM Changeset in webkit [231300] by
-
- 3 edits in trunk/Source/WebCore
WebCore::TextureMapperLayer object used after freed
https://bugs.webkit.org/show_bug.cgi?id=184729
Reviewed by Michael Catanzaro.
Replace the raw pointers with WeakPtr for effectTarget, maskLayer and replicaLayer
inside TextureMapperLayer.
- platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::~TextureMapperLayer):
(WebCore::TextureMapperLayer::setMaskLayer):
(WebCore::TextureMapperLayer::setReplicaLayer):
- platform/graphics/texmap/TextureMapperLayer.h:
- 1:50 AM Changeset in webkit [231299] by
-
- 4 edits in trunk/Source/WebKit
REGRESSION (r231014): Entitlements are not applied to XPC services on macOS
https://bugs.webkit.org/show_bug.cgi?id=185241
Reviewed by Dan Bernstein.
- Configurations/BaseXPCService.xcconfig:
- Configurations/WebContentService.Development.xcconfig:
- Configurations/WebContentService.xcconfig:
- 1:45 AM Changeset in webkit [231298] by
-
- 4 edits in trunk
REGRESSION(r222772): [GTK][WPE] WebProcess from WebKitGtk+ 2.19.9x SIGSEVs in WebKit::WebProcess::ensureNetworkProcessConnection() at Source/WebKit/WebProcess/WebProcess.cpp:1127
https://bugs.webkit.org/show_bug.cgi?id=183348
Reviewed by Michael Catanzaro.
Source/WebKit:
When connection doesn't exit in case of sync message failure, always exit in case of failing to send
GetNetworkProcessConnection or GetStorageProcessConnection messages. This can happen when the WebView is created
and destroyed quickly.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::ensureNetworkProcessConnection):
(WebKit::WebProcess::ensureWebToStorageProcessConnection):
Tools:
Add a test case to reproduce the crash.
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewCloseQuickly):
(beforeAll):
- 12:23 AM Changeset in webkit [231297] by
-
- 3 edits in trunk/Source/WebCore
[Curl] Add OpenSSL/LibreSSL multi-threading support
https://bugs.webkit.org/show_bug.cgi?id=185138
The older OpenSSL manual says the locking_function and threadid_function should
be set when use it in multi-threading environment. This applies to LibreSSL also.
https://www.openssl.org/docs/man1.0.2/crypto/threads.html
For unix and other similar os, the default threadId_function implementation is
good enough. We'll set custom callback only for Windows OS.
Note it's not required for OpenSSL 1.1.0 and after.
https://www.openssl.org/blog/blog/2017/02/21/threads/
Patch by Basuke Suzuki <Basuke Suzuki> on 2018-05-03
Reviewed by Per Arne Vollan.
- platform/network/curl/CurlSSLHandle.cpp:
(WebCore::CurlSSLHandle::CurlSSLHandle):
(WebCore::CurlSSLHandle::ThreadSupport::ThreadSupport):
(WebCore::CurlSSLHandle::ThreadSupport::lockingCallback):
(WebCore::CurlSSLHandle::ThreadSupport::threadIdCallback):
- platform/network/curl/CurlSSLHandle.h:
(WebCore::CurlSSLHandle::ThreadSupport::setup):
(WebCore::CurlSSLHandle::ThreadSupport::singleton):
(WebCore::CurlSSLHandle::ThreadSupport::lock):
(WebCore::CurlSSLHandle::ThreadSupport::unlock):
- 12:06 AM Changeset in webkit [231296] by
-
- 5 edits in trunk/Websites/perf.webkit.org
Create analysis task should sync analysis task status after creation.
https://bugs.webkit.org/show_bug.cgi?id=185222
Reviewed by Ryosuke Niwa.
- public/v3/models/analysis-task.js:
(AnalysisTask.async.create): Fetch newly-created analysis task right about its creation.
(AnalysisTask):
- tools/js/measurement-set-analyzer.js:
(MeasurementSetAnalyzer.prototype.async._analyzeMeasurementSet): Adjust as 'AnalysisTask.create' now
returns an anlysis task instance.
(MeasurementSetAnalyzer):
- unit-tests/analysis-task-tests.js: Added a unit test for this change.
(async):
- unit-tests/measurement-set-analyzer-tests.js: Update unit tests accordingly.
Fix a typo in one previous unit test.
(async):
May 2, 2018:
- 11:05 PM Changeset in webkit [231295] by
-
- 2 edits in trunk/Source/WebKit
AX: Missing kAXSWebAccessibilityEventsEnabledNotification causes a crash
https://bugs.webkit.org/show_bug.cgi?id=185237
Reviewed by Dan Bernstein.
When libAccessibility.dylib is missing, the compiler would optimize out the global
notification and lead to a crash. Fixed it by using the isNullFunction check instead,
since we are sure the global notification would be there when the corresponding function
is available.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- 8:40 PM Changeset in webkit [231294] by
-
- 2 edits in trunk/Source/WebCore
Remove superfluous check for a null attribute value check in Element::removeAttributeInternal
https://bugs.webkit.org/show_bug.cgi?id=185227
Reviewed by Chris Dumez.
Removed the check. The attribute value string can never be null.
- dom/Element.cpp:
(WebCore::Element::removeAttributeInternal):
- 8:19 PM Changeset in webkit [231293] by
-
- 12 edits in trunk/Source/WebCore
[LFC] Implement LayoutContext::createDisplayBox
https://bugs.webkit.org/show_bug.cgi?id=185158
Reviewed by Antti Koivisto.
Now compute*() functions take both the const layout and the corresponding non-const display boxes.
Display boxes are owned by the LayoutContext and they don't form a tree structure (only implicitly through the layout tree).
(This might need to change in the future if we decide to arrange them in some sort of painting order)
- layout/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::computePosition):
- layout/FloatingContext.h:
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeStaticPosition const):
(WebCore::Layout::FormattingContext::computeInFlowPositionedPosition const):
(WebCore::Layout::FormattingContext::computeOutOfFlowPosition const):
(WebCore::Layout::FormattingContext::computeWidth const):
(WebCore::Layout::FormattingContext::computeHeight const):
(WebCore::Layout::FormattingContext::computeOutOfFlowWidth const):
(WebCore::Layout::FormattingContext::computeFloatingWidth const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHeight const):
(WebCore::Layout::FormattingContext::computeFloatingHeight const):
- layout/FormattingContext.h:
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::createDisplayBox):
- layout/LayoutContext.h:
(WebCore::Layout::LayoutContext::displayBoxForLayoutBox const):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layout const):
(WebCore::Layout::BlockFormattingContext::computeStaticPosition const):
(WebCore::Layout::BlockFormattingContext::computeInFlowWidth const):
(WebCore::Layout::BlockFormattingContext::computeInFlowHeight const):
- layout/blockformatting/BlockFormattingContext.h:
- layout/displaytree/DisplayBox.h:
(WebCore::Display::Box::parent const): Deleted.
(WebCore::Display::Box::nextSibling const): Deleted.
(WebCore::Display::Box::previousSibling const): Deleted.
(WebCore::Display::Box::firstChild const): Deleted.
(WebCore::Display::Box::lastChild const): Deleted.
(WebCore::Display::Box::setParent): Deleted.
(WebCore::Display::Box::setNextSibling): Deleted.
(WebCore::Display::Box::setPreviousSibling): Deleted.
(WebCore::Display::Box::setFirstChild): Deleted.
(WebCore::Display::Box::setLastChild): Deleted.
(): Deleted.
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeInFlowWidth const):
(WebCore::Layout::InlineFormattingContext::computeInFlowHeight const):
- layout/inlineformatting/InlineFormattingContext.h:
- 6:17 PM Changeset in webkit [231292] by
-
- 3 edits2 adds in trunk
Hiding then showing an <object> of type image makes the underlaying image disappear
https://bugs.webkit.org/show_bug.cgi?id=185216
<rdar://problem/39055630>
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-05-02
Reviewed by Youenn Fablet.
Source/WebCore:
Ensure the HTMLPlugInImageElement updates the RenderImageResource of its
RenderImage with the CachedImage of its ImageLoader when the RenderImage
is recreated.
Test: fast/images/object-image-hide-show.html
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::didAttachRenderers):
This is very similar to what we do in HTMLImageElement::didAttachRenderers().
LayoutTests:
- fast/images/object-image-hide-show-expected.html: Added.
- fast/images/object-image-hide-show.html: Added.
- 6:08 PM Changeset in webkit [231291] by
-
- 6 edits2 adds in trunk
Use RetainPtr for form input type
https://bugs.webkit.org/show_bug.cgi?id=185210
<rdar://problem/39734040>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Refactor our HTMLInputElement class to store its InputType member as a RefPtr.
Test: fast/forms/access-key-mutation-2.html.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::didAddUserAgentShadowRoot):
(WebCore::HTMLInputElement::accessKeyAction):
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::appendFormData):
- html/HTMLInputElement.h:
- html/InputType.cpp:
(WebCore::createInputType):
(WebCore::InputType::create):
(WebCore::InputType::createText):
- html/InputType.h:
LayoutTests:
- fast/forms/access-key-mutation-2-expected.txt: Added.
- fast/forms/access-key-mutation-2.html: Added.
- 6:03 PM Changeset in webkit [231290] by
-
- 5 edits in trunk/Source/JavaScriptCore
Unreviewed, fix build failure in ARM, ARMv7 and MIPS
https://bugs.webkit.org/show_bug.cgi?id=185192
compareDouble relies on MacroAssembler::invert function.
- assembler/MacroAssembler.h:
(JSC::MacroAssembler::compareDouble):
- assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::compareDouble): Deleted.
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::compareDouble): Deleted.
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::compareDouble): Deleted.
- 5:53 PM Changeset in webkit [231289] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Add MacroAssembler::and16 and store16
https://bugs.webkit.org/show_bug.cgi?id=185188
Reviewed by Mark Lam.
r231129 requires and16(ImplicitAddress, RegisterID) and store16(RegisterID, ImplicitAddress) implementations.
This patch adds these methods for ARM.
- assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::and16):
(JSC::MacroAssemblerARM::store16):
- 5:50 PM Changeset in webkit [231288] by
-
- 15 edits in trunk/Source/WebCore
Use pointer instead of std::optional<std::reference_wrapper<>>
https://bugs.webkit.org/show_bug.cgi?id=185186
Reviewed by Alex Christensen.
std::optional<T&> is not accepted in C++17 spec. So we replaced it
with std::optional<std::reference_wrapper<T>>.
In this patch, we replace it with T*, which is well-aligned to
WebKit's convention.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::iceServersFromConfiguration):
(WebCore::RTCPeerConnection::initializeConfiguration):
(WebCore::RTCPeerConnection::setConfiguration):
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseSystemColor):
- css/parser/CSSParser.h:
- dom/DatasetDOMStringMap.cpp:
(WebCore::DatasetDOMStringMap::item const):
(WebCore::DatasetDOMStringMap::namedItem const):
- dom/DatasetDOMStringMap.h:
- dom/Element.cpp:
(WebCore::Element::insertAdjacentHTML):
- dom/Element.h:
- html/canvas/CanvasStyle.cpp:
(WebCore::parseColor):
- inspector/DOMEditor.cpp:
- platform/network/curl/CurlFormDataStream.cpp:
(WebCore::CurlFormDataStream::getPostData):
- platform/network/curl/CurlFormDataStream.h:
- platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::setupPOST):
- testing/MockCDMFactory.cpp:
(WebCore::MockCDMFactory::keysForSessionWithID const):
(WebCore::MockCDMInstance::updateLicense):
- testing/MockCDMFactory.h:
- 5:49 PM Changeset in webkit [231287] by
-
- 3 edits in trunk/LayoutTests
Skip transitions/opacity-transition-zindex.html.
https://bugs.webkit.org/show_bug.cgi?id=184947
Unreviewed test gardening.
- TestExpectations: Remove old expectation that is no longer applicable.
- platform/mac-wk2/TestExpectations:
- 5:48 PM Changeset in webkit [231286] by
-
- 4 edits in trunk/Source/JavaScriptCore
[DFG] Unify compare related code in 32bit and 64bit
https://bugs.webkit.org/show_bug.cgi?id=185189
Reviewed by Mark Lam.
This patch unifies some part of compare related code in 32bit and 64bit
to reduce the size of 32bit specific DFG code.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileInt32Compare):
(JSC::DFG::SpeculativeJIT::compileDoubleCompare):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectEquality): Deleted.
(JSC::DFG::SpeculativeJIT::compileInt32Compare): Deleted.
(JSC::DFG::SpeculativeJIT::compileDoubleCompare): Deleted.
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectEquality): Deleted.
(JSC::DFG::SpeculativeJIT::compileInt32Compare): Deleted.
(JSC::DFG::SpeculativeJIT::compileDoubleCompare): Deleted.
- 5:46 PM Changeset in webkit [231285] by
-
- 9 edits in trunk/Source/JavaScriptCore
[JSC] Add compareDouble and compareFloat for ARM64, X86, and X86_64
https://bugs.webkit.org/show_bug.cgi?id=185192
Reviewed by Mark Lam.
Now Object.is starts using compareDouble. So we would like to have
efficient implementation for compareDouble and compareFloat for
major architectures, ARM64, X86, and X86_64.
This patch adds compareDouble and compareFloat implementations for
these architectures. And generic implementation is moved to each
architecture's MacroAssembler implementation.
We also add tests for them in testmasm. To implement this test
easily, we also add loadFloat(TrustedImmPtr, FPRegisterID) for the
major architectures.
- assembler/MacroAssembler.h:
(JSC::MacroAssembler::compareDouble): Deleted.
(JSC::MacroAssembler::compareFloat): Deleted.
- assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::compareDouble):
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::compareDouble):
(JSC::MacroAssemblerARM64::compareFloat):
(JSC::MacroAssemblerARM64::loadFloat):
(JSC::MacroAssemblerARM64::floatingPointCompare):
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::compareDouble):
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::compareDouble):
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::loadFloat):
(JSC::MacroAssemblerX86Common::compareDouble):
(JSC::MacroAssemblerX86Common::compareFloat):
(JSC::MacroAssemblerX86Common::floatingPointCompare):
- assembler/X86Assembler.h:
(JSC::X86Assembler::movss_mr):
(JSC::X86Assembler::movss_rm):
- assembler/testmasm.cpp:
(JSC::floatOperands):
(JSC::testCompareFloat):
(JSC::run):
- 5:42 PM Changeset in webkit [231284] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix 32bit DFG code
https://bugs.webkit.org/show_bug.cgi?id=185065
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileSameValue):
- 5:37 PM Changeset in webkit [231283] by
-
- 3 edits1 add in trunk
JSC should know how to cache custom getter accesses on the prototype chain
https://bugs.webkit.org/show_bug.cgi?id=185213
Reviewed by Keith Miller.
JSTests:
- microbenchmarks/get-custom-getter.js: Added.
(test):
Source/JavaScriptCore:
This was a simple fix after the work I did for bug 185174. >4x speed-up on the new get-custom-getter.js test.
- jit/Repatch.cpp:
(JSC::tryCacheGetByID):
- 5:31 PM Changeset in webkit [231282] by
-
- 32 edits1 copy2 adds in trunk/Source
Add facility for tracking times and results of page and resource loading
https://bugs.webkit.org/show_bug.cgi?id=184838
<rdar://problem/36548974>
Reviewed by Brent Fulgham.
Source/WebCore:
Update FrameProgressTracker to send the necessary page load start/stop
signals so that we can track the entire page load at a network level.
Add an empty override of the pure virtual
LoaderStrategy::pageLoadCompleted method.
No new tests. There is no testable effect from these changes. On
Cocoa, measurable changes take place in another (non-WebKit) process.
On non-Cocoa systems, this facility is currently disabled.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameProgressTracker::progressCompleted):
- loader/LoaderStrategy.h:
Source/WebKit:
Add NetworkActivityTracker. The idea behind this facility is to create
and destroy them around networking activity that we want to track for
the purpose of measuring overall network health. They can be created
around the loading of pages or individual resources, and can be
arranged in a parent/child hierarchy to indicate what pages the
resources are part of. The NetworkActivity tracker tracks load times
and results. On Cocoa, it can be integrated with CFNetwork in order to
associate WebKit activity with low-level networking activity.
- CMakeLists.txt:
- Configurations/WebKit.xcconfig:
- NetworkProcess/NetworkActivityTracker.cpp: Copied from Source/WebKit/NetworkProcess/NetworkLoadParameters.h.
(WebKit::NetworkActivityTracker::NetworkActivityTracker):
(WebKit::NetworkActivityTracker::~NetworkActivityTracker):
(WebKit::NetworkActivityTracker::setParent):
(WebKit::NetworkActivityTracker::start):
(WebKit::NetworkActivityTracker::complete):
- NetworkProcess/NetworkActivityTracker.h: Added.
(WebKit::NetworkActivityTracker::getPlatformObject):
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::pageLoadCompleted):
(WebKit::networkActivityTrackingEnabled):
(WebKit::NetworkConnectionToWebProcess::startTrackingResourceLoad):
(WebKit::NetworkConnectionToWebProcess::stopTrackingResourceLoad):
(WebKit::NetworkConnectionToWebProcess::stopAllNetworkActivityTracking):
(WebKit::NetworkConnectionToWebProcess::stopAllNetworkActivityTrackingForPage):
(WebKit::NetworkConnectionToWebProcess::findRootNetworkActivity):
(WebKit::NetworkConnectionToWebProcess::findNetworkActivityTracker):
- NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit::NetworkConnectionToWebProcess::ResourceNetworkActivityTracker::ResourceNetworkActivityTracker):
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::create):
- NetworkProcess/NetworkLoadParameters.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::trackNetworkActivity const):
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::abort):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFailLoading):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
(WebKit::NetworkResourceLoader::continueProcessingCachedEntryAfterDidReceiveResponse):
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/cocoa/NetworkActivityTrackerCocoa.mm: Added.
(WebKit::NetworkActivityTracker::NetworkActivityTracker):
(WebKit::NetworkActivityTracker::~NetworkActivityTracker):
(WebKit::NetworkActivityTracker::setParent):
(WebKit::NetworkActivityTracker::start):
(WebKit::NetworkActivityTracker::complete):
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationTrackNetworkActivity):
(WKContextConfigurationSetTrackNetworkActivity):
- UIProcess/API/C/WKContextConfigurationRef.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration trackNetworkActivity]):
(-[_WKProcessPoolConfiguration setTrackNetworkActivity:]):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::pageLoadCompleted):
- WebProcess/Network/WebLoaderStrategy.h:
Source/WebKitLegacy:
Add an empty override of the pure virtual
LoaderStrategy::pageLoadCompleted method.
- WebCoreSupport/WebResourceLoadScheduler.cpp:
(WebResourceLoadScheduler::pageLoadCompleted):
- WebCoreSupport/WebResourceLoadScheduler.h:
- 5:28 PM Changeset in webkit [231281] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, rolling out r231251.
https://bugs.webkit.org/show_bug.cgi?id=185229
cpp_lib_optional should be used after including <optional>
since it is defined in <optional> (Requested by yusukesuzuki
on #webkit).
Reverted changeset:
"Follow-up build fix for r231223"
https://bugs.webkit.org/show_bug.cgi?id=185159
https://trac.webkit.org/changeset/231251
- 4:10 PM Changeset in webkit [231280] by
-
- 7 edits in trunk/Source
Versioning.
- 4:08 PM Changeset in webkit [231279] by
-
- 1 copy in tags/Safari-605.2.8.0.1
Tag Safari-605.2.8.0.1.
- 4:08 PM Changeset in webkit [231278] by
-
- 2 edits in trunk/Source/WebCore/PAL
[iOS] Provide audio route information when invoking AirPlay picker
https://bugs.webkit.org/show_bug.cgi?id=185199
<rdar://problem/39853103>
Unreviewed, another attempted build fix.
- pal/spi/mac/AVFoundationSPI.h:
- 4:00 PM Changeset in webkit [231277] by
-
- 2 edits in trunk/Source/WebKit
Open audio/video sandbox services for minimal simulator
https://bugs.webkit.org/show_bug.cgi?id=185217
<rdar://problem/39918909>
Reviewed by Per Arne Vollan.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/com.apple.WebProcess.sb.in:
- 3:55 PM Changeset in webkit [231276] by
-
- 5 edits in trunk
Can't copy and paste URLs that have no title into Mail (macOS)
https://bugs.webkit.org/show_bug.cgi?id=185205
<rdar://problem/36352406>
Patch by Aditya Keerthi <Aditya Keerthi> on 2018-05-02
Reviewed by Tim Horton.
Source/WebCore:
The pasteboardURL generated has an empty title for URLs without titles. Currently, the pasteboardURL.title is being saved to the pasteboard.
To fix the error, we check whether the title is empty and instead save the lastPathComponent to the pasteboard. This matches current behavior as the fallback title.
Augmented WebKitLegacy.ContextMenuCanCopyURL test
- platform/mac/PasteboardMac.mm:
(WebCore::writeURLForTypes):
Tools:
Added test to verify behavior when copying and pasting a URL without a title.
- TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.html:
- TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.mm:
(TestWebKitAPI::TEST):
- 3:55 PM Changeset in webkit [231275] by
-
- 31 edits in branches/safari-605.2.8.0-branch/Source
Cherry-pick r231242. rdar://problem/39860939
[iOS] Provide audio route information when invoking AirPlay picker
https://bugs.webkit.org/show_bug.cgi?id=185199
<rdar://problem/39853103>
Reviewed by Jer Noble.
Source/WebCore:
No new tests, this requires a specific hardware setup.
- dom/Document.cpp: (WebCore::Document::showPlaybackTargetPicker): Pass route sharing policy and routing context UID.
- dom/Document.h:
- html/MediaElementSession.cpp: (WebCore::MediaElementSession::showPlaybackTargetPicker): Ditto.
- loader/EmptyClients.h:
- page/ChromeClient.h:
- page/Page.cpp: (WebCore::Page::showPlaybackTargetPicker): Ditto.
- page/Page.h:
- platform/audio/AudioSession.cpp: (WebCore::AudioSession::routeSharingPolicy const): Empty implementation for non-iOS ports. (WebCore::routingContextUID const): Ditto.
- platform/audio/AudioSession.h:
- platform/audio/ios/AudioSessionIOS.mm: (WebCore::AudioSession::routeSharingPolicy const): Return the route sharing policy. (WebCore::AudioSession::routingContextUID const): Return the route context UID.
Source/WebCore/PAL:
- pal/spi/mac/AVFoundationSPI.h: Add additional AVAudioSession SPI.
Source/WebKit:
- Scripts/webkit/messages.py:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::showPlaybackTargetPicker): Pass route sharing policy and routing context UID.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _showPlaybackTargetPicker:fromRect:routeSharingPolicy:routingContextUID:]): Take same. (-[WKContentView _showPlaybackTargetPicker:fromRect:]): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::showPlaybackTargetPicker): Pass route sharing policy and routing context UID.
- UIProcess/ios/forms/WKAirPlayRoutePicker.h:
- UIProcess/ios/forms/WKAirPlayRoutePicker.mm: (-[WKAirPlayRoutePicker showFromView:routeSharingPolicy:routingContextUID:]): Take same. (-[WKAirPlayRoutePicker showFromView:]): Deleted.
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm: (WebKit::WebChromeClient::showPlaybackTargetPicker):
Source/WebKitLegacy/ios:
- WebCoreSupport/WebChromeClientIOS.h:
- WebCoreSupport/WebChromeClientIOS.mm: (WebChromeClientIOS::showPlaybackTargetPicker): Pass route sharing policy and routing context UID.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231242 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:50 PM Changeset in webkit [231274] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
Rebase imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-redirect.https.html expectation
https://bugs.webkit.org/show_bug.cgi?id=185221
Unreviewed.
- web-platform-tests/service-workers/service-worker/fetch-request-redirect.https-expected.txt:
- 3:45 PM Changeset in webkit [231273] by
-
- 7 edits in branches/safari-605.2.8.1-branch/Source
Versioning.
- 3:43 PM Changeset in webkit [231272] by
-
- 7 edits in branches/safari-605.2.8.0-branch/Source
Versioning.
- 3:22 PM Changeset in webkit [231271] by
-
- 2 edits in trunk/Source/WebKit
Cleanup NetworkResourceLoader::didReceiveResponse()
https://bugs.webkit.org/show_bug.cgi?id=185209
Reviewed by Chris Dumez.
Use early returns to make the control flow easier to read and reason about. Disregarding a
From-Origin violation, NetworkResourceLoader::didReceiveResponse() only returns NetworkLoadClient::ShouldContinueDidReceiveResponse::No
when the load is for a main resource and hence it must wait for the embedding client to allow
the load before continuing with it. With regards to a From-Origin violation, the network
process schedules to fail the load in a subsequent turn of the event loop before returning
NetworkLoadClient::ShouldContinueDidReceiveResponse::No. It return NetworkLoadClient::ShouldContinueDidReceiveResponse::No
solely to tell the NetworkLoadClient to defer assuming the load is allowed (because we will
fail it on the next turn of the event loop).
Additionally, remove all logging about the return value as we no longer have a need for
such logging.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveResponse):
- 3:18 PM Changeset in webkit [231270] by
-
- 1 copy in branches/safari-605.2.8.1-branch
New branch.
- 3:17 PM Changeset in webkit [231269] by
-
- 1 copy in branches/safari-605.2.8.0-branch
New tag.
- 3:11 PM Changeset in webkit [231268] by
-
- 2 edits in trunk/LayoutTests
[WinCairo] Unreviewed gardening. Add missing Skip for http/wpt.
- platform/wincairo/TestExpectations:
- 2:42 PM Changeset in webkit [231267] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r225868): Release assert when removing an SVGUseElement from Document::m_svgUseElements
https://bugs.webkit.org/show_bug.cgi?id=182188
<rdar://problem/36689240>
Reviewed by Antti Koivisto.
Fixed the crash by removing up the release assert.
The crash is likely caused by re-entrancy to Document::resolveStyle during SVGUseElement::updateShadowTree.
Because Document::resolveStyle invokes updateShadowTree on SVG use elements in Document::m_svgUseElements
without clearing the map, the nested call to resolveStyle ends up calling updateShadowTree() for all elements
in m_svgUseElements and removing them all from the map. When the stack frame eventually comes back to the outer
invocation of Document::resolveStyle, updateShadowTree gets invoked for the second time on SVG use elements
whose shadow tree had already been updated within the inner invocation to updateShadowTree, and release-asserts.
There is an alternative fix: avoid calling updateShadowTree on a svg element when shadowTreeNeedsUpdate returns
true on the element in resolveStyle. However, removing the release assert is a sure way to fix the crash so
this patch opts for that fix instead especially since we don't have any reproducible test case for this crash.
This release assertion was added in r225868 as a cautious measure to catch any use-after-frees of SVGUseElement's
since m_svgUseElements stored raw pointes to SVG use elements but this crash is not an indicative of any UAF,
and there is no evidence that r225868 has led to new UAFs even after five months.
No new tests. I couldn't find a way to trigger a nested style update inside SVGUseElement::updateShadowTree.
- dom/Document.cpp:
(WebCore::Document::removeSVGUseElement):
- 2:38 PM Changeset in webkit [231266] by
-
- 7 edits in trunk
getCharNumAtPosition should take DOMPointInit as argument
https://bugs.webkit.org/show_bug.cgi?id=184695
Patch by Dirk Schulze <dschulze@chromium.org> on 2018-05-02
Reviewed by Antti Koivisto.
Source/WebCore:
Extend existing tests for getCharNumAtPosition.
- svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::getCharNumAtPosition):
- svg/SVGTextContentElement.h:
- svg/SVGTextContentElement.idl: Use DOMPointInit argument.
LayoutTests:
- svg/text/lengthAdjust-text-metrics.html: Run tests with dictionary.
- 2:38 PM Changeset in webkit [231265] by
-
- 6 edits in trunk/Source/ThirdParty/libwebrtc
Disable VCP for iOS until it is fully working
https://bugs.webkit.org/show_bug.cgi?id=185201
<rdar://problem/39773857>
Reviewed by Eric Carlson.
Disable VCP for iOS unconditionally.
Add check to getkVTVideoEncoderSpecification_Usage to not set this property if not defined as it is optional soft linked.
Replace use of VTSessionSetProperty by CompressionSessionSetProperty as the latter is a macro
that works for both VT and VCP.
- Source/webrtc/sdk/WebKit/EncoderUtilities.h:
- Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
- Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
(-[RTCVideoEncoderH264 configureCompressionSession]):
(-[RTCVideoEncoderH264 setEncoderBitrateBps:]):
(-[RTCVideoEncoderH264 frameWasEncoded:flags:sampleBuffer:codecSpecificInfo:width:height:renderTimeMs:timestamp:rotation:]):
- Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/helpers.cc:
- Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/helpers.h:
- 2:17 PM Changeset in webkit [231264] by
-
- 13 edits in trunk/Source
Add WKWebsiteDataStorePrivate._proxyConfiguration SPI
https://bugs.webkit.org/show_bug.cgi?id=185179
Patch by Alex Christensen <achristensen@webkit.org> on 2018-05-02
Reviewed by Andy Estes.
Source/WebCore/PAL:
- pal/spi/cf/CFNetworkSPI.h:
Source/WebKit:
- NetworkProcess/NetworkSessionCreationParameters.h:
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::applySniffingPoliciesAndBindRequestToInferfaceIfNeeded):
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
- Shared/WebsiteDataStoreParameters.cpp:
(WebKit::WebsiteDataStoreParameters::privateSessionParameters):
- Shared/cf/ArgumentCodersCF.cpp:
(IPC::encode):
(IPC::decode):
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _setProxyConfiguration:]):
(-[WKWebsiteDataStore _proxyConfiguration]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::parameters):
- UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::setProxyConfiguration):
(WebKit::WebsiteDataStore::proxyConfiguration):
- 2:13 PM Changeset in webkit [231263] by
-
- 12 edits in trunk
Use NetworkLoadChecker for navigation loads
https://bugs.webkit.org/show_bug.cgi?id=184892
<rdar://problem/39652686>
Reviewed by Chris Dumez.
Source/WebCore:
Sanitize headers according response tainting.
If tainting is basic, it means same origin load in which case we only filter Cookie related headers.
If tainting is Opaque, we filter all uncommon headers.
If tainting is CORS, we filter all uncommon headers except the one explicitely allowed by CORS headers.
Covered by updated test.
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::sanitizeHTTPHeaderFieldsAccordingToTainting):
(WebCore::ResourceResponseBase::sanitizeHTTPHeaderFields):
- platform/network/ResourceResponseBase.h:
Source/WebKit:
Compute whether a response is same origin in no-cors case.
This allows providing more precise filtering.
In case of navigate loads, set the tainting to basic which will make filtering to the minimum.
Pass the sourceOrigin for navigation loads as well.
Enable to restrict HTTP response access for navigation load.
Content Blockers are disabled for now in NetworkLoadChecker for navigation loads.
They should be reenabled as a follow-up.
Add a specific case to allow any redirection to about:// URLs.
While this does not conform with the spec, this keeps the existing WebKit behavior.
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::NetworkLoadChecker):
(WebKit::NetworkLoadChecker::validateResponse):
(WebKit::NetworkLoadChecker::continueCheckingRequest):
(WebKit::NetworkLoadChecker::doesNotNeedCORSCheck const):
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::sanitizeResponseIfPossible):
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::isDoingLoadingSecurityChecks const):
We only do security checks if this runtime flag is on.
- WebProcess/Network/WebLoaderStrategy.h:
LayoutTests:
Updated header-filtering.https.html to expect full headers except cookie-related for same origin loads.
Updated expected.txt files accordingly.
- http/wpt/service-workers/header-filtering.https-expected.txt:
- http/wpt/service-workers/header-filtering.https.html:
- platform/mac/http/tests/webarchive/test-preload-resources-expected.txt:
- 2:11 PM Changeset in webkit [231262] by
-
- 2 edits in tags/Safari-606.1.16/Source/WebKit
Cherry-pick r231257. rdar://problem/39916202
Make EncryptedMediaAPIEnabled an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=185212
Reviewed by Eric Carlson.
- Shared/WebPreferences.yaml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231257 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:01 PM Changeset in webkit [231261] by
-
- 9 copies1 add in releases/Apple/Safari Technology Preview 55
Added a tag for Safari Technology Preview release 55.
- 1:44 PM Changeset in webkit [231260] by
-
- 31 edits in branches/safari-605-branch/Source
Cherry-pick r231242. rdar://problem/39860939
[iOS] Provide audio route information when invoking AirPlay picker
https://bugs.webkit.org/show_bug.cgi?id=185199
<rdar://problem/39853103>
Reviewed by Jer Noble.
Source/WebCore:
No new tests, this requires a specific hardware setup.
- dom/Document.cpp: (WebCore::Document::showPlaybackTargetPicker): Pass route sharing policy and routing context UID.
- dom/Document.h:
- html/MediaElementSession.cpp: (WebCore::MediaElementSession::showPlaybackTargetPicker): Ditto.
- loader/EmptyClients.h:
- page/ChromeClient.h:
- page/Page.cpp: (WebCore::Page::showPlaybackTargetPicker): Ditto.
- page/Page.h:
- platform/audio/AudioSession.cpp: (WebCore::AudioSession::routeSharingPolicy const): Empty implementation for non-iOS ports. (WebCore::routingContextUID const): Ditto.
- platform/audio/AudioSession.h:
- platform/audio/ios/AudioSessionIOS.mm: (WebCore::AudioSession::routeSharingPolicy const): Return the route sharing policy. (WebCore::AudioSession::routingContextUID const): Return the route context UID.
Source/WebCore/PAL:
- pal/spi/mac/AVFoundationSPI.h: Add additional AVAudioSession SPI.
Source/WebKit:
- Scripts/webkit/messages.py:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::showPlaybackTargetPicker): Pass route sharing policy and routing context UID.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _showPlaybackTargetPicker:fromRect:routeSharingPolicy:routingContextUID:]): Take same. (-[WKContentView _showPlaybackTargetPicker:fromRect:]): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::showPlaybackTargetPicker): Pass route sharing policy and routing context UID.
- UIProcess/ios/forms/WKAirPlayRoutePicker.h:
- UIProcess/ios/forms/WKAirPlayRoutePicker.mm: (-[WKAirPlayRoutePicker showFromView:routeSharingPolicy:routingContextUID:]): Take same. (-[WKAirPlayRoutePicker showFromView:]): Deleted.
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm: (WebKit::WebChromeClient::showPlaybackTargetPicker):
Source/WebKitLegacy/ios:
- WebCoreSupport/WebChromeClientIOS.h:
- WebCoreSupport/WebChromeClientIOS.mm: (WebChromeClientIOS::showPlaybackTargetPicker): Pass route sharing policy and routing context UID.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231242 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:34 PM Changeset in webkit [231259] by
-
- 13 edits3 adds in trunk
Collection fragment identifiers don't use PostScript names
https://bugs.webkit.org/show_bug.cgi?id=184624
Source/WebCore:
<rdar://problem/39432089>
Reviewed by Simon Fraser.
In a previous version of the CSS Fonts spec, there was text saying that items in font collections
should be 1-indexed (so the first item would be MyFonts.ttc#1). However, this is unfortunate because
inserting an item into the middle of a collection would throw off all content that uses the file.
Instead, the spec has since changed to use PostScript names (so the content instead would say
MyFonts.ttc#MyFont-Regular).
Test: fast/text/font-collection.html
- css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::load):
- loader/cache/CachedFont.cpp:
(WebCore::CachedFont::calculateItemInCollection const):
(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::createCustomFontData):
(WebCore::CachedFont::calculateIndex const): Deleted.
- loader/cache/CachedFont.h:
- platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::createFontCustomPlatformData):
- platform/graphics/mac/FontCustomPlatformData.h:
LayoutTests:
Reviewed by Simon Fraser.
- fast/text/font-collection-expected.html:
- fast/text/font-collection.html:
- fast/text/resources/collection.ttc: I generated this font collection by hand. The "Ahemerator" font inside it is missing the
"A" glyph.
- 1:26 PM Changeset in webkit [231258] by
-
- 2 edits in trunk/Source/WebCore/PAL
[iOS] Provide audio route information when invoking AirPlay picker
https://bugs.webkit.org/show_bug.cgi?id=185199
<rdar://problem/39853103>
Unreviewed build fix.
- pal/spi/mac/AVFoundationSPI.h:
- 1:22 PM Changeset in webkit [231257] by
-
- 2 edits in trunk/Source/WebKit
Make EncryptedMediaAPIEnabled an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=185212
Reviewed by Eric Carlson.
- Shared/WebPreferences.yaml:
- 1:07 PM Changeset in webkit [231256] by
-
- 2 edits in trunk/Tools
[GTK] Generate a JSC bundle on the 64 and 32 bit release bots and upload it to webkitgtk.org (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=184699
Unreviewed follow-up fix after r231230.
- Scripts/generate-jsc-bundle:
(generate_wrapper_script): Quote the arguments passed to jsc.
- 12:53 PM Changeset in webkit [231255] by
-
- 3 edits in trunk/LayoutTests
Layout Test http/wpt/service-workers/header-filtering.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=184469
<rdar://problem/39428226>
Reviewed by Chris Dumez.
Ensure that the message posted for the loading of the initial iframe is actually received before doing further tests.
- http/wpt/service-workers/header-filtering.https.html:
- platform/mac-wk2/TestExpectations:
- 12:29 PM Changeset in webkit [231254] by
-
- 2 edits in trunk/Source/WebKit
Adjust sandbox profile in simulator mode.
https://bugs.webkit.org/show_bug.cgi?id=185172
<rdar://problem/39876860>
Reviewed by Brent Fulgham.
Fix some sandbox violations.
- WebProcess/com.apple.WebProcess.sb.in:
- 12:17 PM Changeset in webkit [231253] by
-
- 14 edits in trunk
Web Inspector: opt out of process swap on navigation if a Web Inspector frontend is connected
https://bugs.webkit.org/show_bug.cgi?id=184861
<rdar://problem/39153768>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Notify the client of the current connection count whenever a frontend connects or disconnects.
Covered by new API test.
- inspector/InspectorClient.h:
(WebCore::InspectorClient::frontendCountChanged):
- inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::disconnectAllFrontends):
- inspector/InspectorController.h:
Source/WebKit:
We need to track how many frontends are attached to the web page (both local and remote).
InspectorController propagates this out to WebKit via InspectorClient. This is then
kept in UIProcess as a member of WebPageProxy. When making a decision whether to use a
new process for a navigation, return early with "no" if any frontends are open for the
page being navigated.
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::didChangeInspectorFrontendCount):
(WebKit::WebPageProxy::inspectorFrontendCount const):
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigation):
- WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::frontendCountChanged):
- WebProcess/WebCoreSupport/WebInspectorClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::inspectorFrontendCountChanged):
- WebProcess/WebPage/WebPage.h:
Tools:
Add a new test that checks whether a new process is used for navigation when
an Inspector is shown. Also check that the behavior reverts to normal after
the Inspector has been closed.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 12:08 PM Changeset in webkit [231252] by
-
- 4 edits in trunk
test262/Runner.pm: save summary to file
https://bugs.webkit.org/show_bug.cgi?id=185200
Patch by Valerie R Young <valerie@bocoup.com> on 2018-05-02
Reviewed by Michael Saboff.
.:
- .gitignore:
Tools:
- Scripts/test262/Runner.pm:
(processCLI):
(main):
(summarizeResults):
- 11:54 AM Changeset in webkit [231251] by
-
- 2 edits in trunk/Source/WTF
Follow-up build fix for r231223
https://bugs.webkit.org/show_bug.cgi?id=185159
<rdar://problem/39891074>
Unreviewed build fix.
We should be consistent about when we include <optional> vs define our own.
- wtf/Optional.h:
- 11:51 AM Changeset in webkit [231250] by
-
- 8 edits in trunk/Source/JavaScriptCore
JSC should be able to cache custom setter calls on the prototype chain
https://bugs.webkit.org/show_bug.cgi?id=185174
Reviewed by Saam Barati.
We broke custom-setter-on-the-prototype-chain caching when we fixed a bug involving the conditionSet.isEmpty()
condition being used to determine if we have an alternateBase. The fix in r222671 incorrectly tried to add
impossible-to-validate conditions to the conditionSet by calling generateConditionsForPrototypePropertyHit() instead
of generateConditionsForPrototypePropertyHitCustom(). The problem is that the former function will always fail for
custom accessors because it won't find the custom property in the structure.
The fix is to add a virtual hasAlternateBase() function and use that instead of conditionSet.isEmpty().
This is a 4x speed-up on assign-custom-setter.js.
- bytecode/AccessCase.cpp:
(JSC::AccessCase::hasAlternateBase const):
(JSC::AccessCase::alternateBase const):
(JSC::AccessCase::generateImpl):
- bytecode/AccessCase.h:
(JSC::AccessCase::alternateBase const): Deleted.
- bytecode/GetterSetterAccessCase.cpp:
(JSC::GetterSetterAccessCase::hasAlternateBase const):
(JSC::GetterSetterAccessCase::alternateBase const):
- bytecode/GetterSetterAccessCase.h:
- bytecode/ObjectPropertyConditionSet.cpp:
(JSC::generateConditionsForPrototypePropertyHitCustom):
- bytecode/ObjectPropertyConditionSet.h:
- jit/Repatch.cpp:
(JSC::tryCacheGetByID):
(JSC::tryCachePutByID):
- 11:44 AM Changeset in webkit [231249] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Remove unneeded include of gstgldisplay_wayland.h after r228866 and r229022
https://bugs.webkit.org/show_bug.cgi?id=185207
Reviewed by Michael Catanzaro.
Remove unneeded include of gstgldisplay_wayland.h
No new tests, no change in behaviour.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
- 11:39 AM Changeset in webkit [231248] by
-
- 3 edits2 adds in trunk
document.open() event listener removal is not immediate
https://bugs.webkit.org/show_bug.cgi?id=185191
Reviewed by Darin Adler.
Source/WebCore:
We need to make sure we set the 'wasremoved' flag on RegisteredEventListeners
whenever they get removed from the EventListenerMap. We were doing so correctly
in EventListenerMap:remove() but not EventListenerMap::clear(). This patch
updates clear() accordingly.
The reason we need to set this flag is that RegisteredEventListeners is RefCounted
and EventTarget::fireEventListeners() may be currently running and calling
each listener one by one, holding a reference to all listener of a given event.
Test: fast/dom/Document/document-open-removes-all-listeners.html
- dom/EventListenerMap.cpp:
(WebCore::EventListenerMap::clear):
LayoutTests:
Add layout test coverage.
- fast/dom/Document/document-open-removes-all-listeners-expected.txt: Added.
- fast/dom/Document/document-open-removes-all-listeners.html: Added.
- 11:37 AM Changeset in webkit [231247] by
-
- 2 edits in trunk/Source/WebKit
Adopt -destinationWindowToExitFullScreenForWindow:
https://bugs.webkit.org/show_bug.cgi?id=185204
<rdar://problem/22486621>
Reviewed by Eric Carlson.
- UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController destinationWindowToExitFullScreenForWindow:]):
- 11:35 AM Changeset in webkit [231246] by
-
- 2 edits in trunk/Source/WebKit
Disable Media capture rules in sandbox for simulator.
https://bugs.webkit.org/show_bug.cgi?id=185206
<rdar://problem/39910015>
Reviewed by Eric Carlson.
These rules are not relevant in this case.
- WebProcess/com.apple.WebProcess.sb.in:
- 11:18 AM Changeset in webkit [231245] by
-
- 4 edits in trunk/Source/WebCore
Use WeakPtr in GridCell
https://bugs.webkit.org/show_bug.cgi?id=185180
<rdar://problem/39432165>
Reviewed by Antti Koivisto.
Since GridCell does not own the renderers, it should
construct weak pointers.
Unable to create a reliably reproducible test case.
- rendering/Grid.cpp:
(WebCore::Grid::insert):
(WebCore::GridIterator::nextGridItem):
- rendering/Grid.h:
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::firstLineBaseline const):
- 11:05 AM Changeset in webkit [231244] by
-
- 4 edits in tags/Safari-606.1.16/Source/WebCore
Cherry-pick r231241. rdar://problem/39908855
Draw SystemPreview badge to specification on iOS
https://bugs.webkit.org/show_bug.cgi?id=185203
<rdar://problem/39908855>
Reviewed by Tim Horton.
Use CoreImage to render a badge with a blurred background,
at particular sizes.
This will be tested internally while we're getting artwork
from WebKitAdditions.
- Configurations/WebCore.xcconfig: Link against CoreImage.
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm: (WebCore::RenderThemeIOS::paintSystemPreviewBadge): New function in the iOS platform RenderTheme that draws the system preview.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:52 AM Changeset in webkit [231243] by
-
- 1 copy in tags/Safari-606.1.16
Tag Safari-606.1.16.
- 10:51 AM Changeset in webkit [231242] by
-
- 31 edits in trunk/Source
[iOS] Provide audio route information when invoking AirPlay picker
https://bugs.webkit.org/show_bug.cgi?id=185199
<rdar://problem/39853103>
Reviewed by Jer Noble.
Source/WebCore:
No new tests, this requires a specific hardware setup.
- dom/Document.cpp:
(WebCore::Document::showPlaybackTargetPicker): Pass route sharing policy and routing context UID.
- dom/Document.h:
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::showPlaybackTargetPicker): Ditto.
- loader/EmptyClients.h:
- page/ChromeClient.h:
- page/Page.cpp:
(WebCore::Page::showPlaybackTargetPicker): Ditto.
- page/Page.h:
- platform/audio/AudioSession.cpp:
(WebCore::AudioSession::routeSharingPolicy const): Empty implementation for non-iOS ports.
(WebCore::routingContextUID const): Ditto.
- platform/audio/AudioSession.h:
- platform/audio/ios/AudioSessionIOS.mm:
(WebCore::AudioSession::routeSharingPolicy const): Return the route sharing policy.
(WebCore::AudioSession::routingContextUID const): Return the route context UID.
Source/WebCore/PAL:
- pal/spi/mac/AVFoundationSPI.h: Add additional AVAudioSession SPI.
Source/WebKit:
- Scripts/webkit/messages.py:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::showPlaybackTargetPicker): Pass route sharing policy and routing context UID.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _showPlaybackTargetPicker:fromRect:routeSharingPolicy:routingContextUID:]): Take same.
(-[WKContentView _showPlaybackTargetPicker:fromRect:]): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::showPlaybackTargetPicker): Pass route sharing policy and routing context UID.
- UIProcess/ios/forms/WKAirPlayRoutePicker.h:
- UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
(-[WKAirPlayRoutePicker showFromView:routeSharingPolicy:routingContextUID:]): Take same.
(-[WKAirPlayRoutePicker showFromView:]): Deleted.
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::showPlaybackTargetPicker):
Source/WebKitLegacy/ios:
- WebCoreSupport/WebChromeClientIOS.h:
- WebCoreSupport/WebChromeClientIOS.mm:
(WebChromeClientIOS::showPlaybackTargetPicker): Pass route sharing policy and routing context UID.
- 10:36 AM Changeset in webkit [231241] by
-
- 4 edits in trunk/Source/WebCore
Draw SystemPreview badge to specification on iOS
https://bugs.webkit.org/show_bug.cgi?id=185203
<rdar://problem/39908855>
Reviewed by Tim Horton.
Use CoreImage to render a badge with a blurred background,
at particular sizes.
This will be tested internally while we're getting artwork
from WebKitAdditions.
- Configurations/WebCore.xcconfig: Link against CoreImage.
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintSystemPreviewBadge): New function
in the iOS platform RenderTheme that draws the system preview.
- 10:19 AM Changeset in webkit [231240] by
-
- 2 edits in trunk/Source/JavaScriptCore
[MIPS] Implement and16 and store16 for MacroAssemblerMIPS
https://bugs.webkit.org/show_bug.cgi?id=185195
Patch by Dominik Infuehr <dinfuehr@igalia.com> on 2018-05-02
Reviewed by Mark Lam.
This implements the given function for MIPS, such that it builds again.
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::and16):
(JSC::MacroAssemblerMIPS::store16):
- 10:14 AM Changeset in webkit [231239] by
-
- 4 edits in trunk/Source/WebKit
Get the WebKit.framework bundle by asking for WKWebView
https://bugs.webkit.org/show_bug.cgi?id=185175
Reviewed by Tim Horton.
- NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::initializeSandbox):
- Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::initializeSandbox):
- StorageProcess/mac/StorageProcessMac.mm:
(WebKit::StorageProcess::initializeSandbox):
- 10:05 AM Changeset in webkit [231238] by
-
- 2 edits in trunk/Source/JavaScriptCore
Expose "$262.agent.monotonicNow()" for use in testing Atomic operation timeouts
https://bugs.webkit.org/show_bug.cgi?id=185043
Patch by Rick Waldron <waldron.rick@gmail.com> on 2018-05-02
Reviewed by Filip Pizlo.
- jsc.cpp:
(GlobalObject::finishCreation):
(functionDollarAgentMonotonicNow):
- 9:49 AM Changeset in webkit [231237] by
-
- 2 edits in trunk/Source/JavaScriptCore
[ARM] Implement and16 and store16 for MacroAssemblerARMv7
https://bugs.webkit.org/show_bug.cgi?id=185196
Patch by Dominik Infuehr <dinfuehr@igalia.com> on 2018-05-02
Reviewed by Mark Lam.
This implements and16 and store16 for MacroAssemblerARMv7 such that JSC builds again.
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::and16):
(JSC::MacroAssemblerARMv7::store16):
- 9:49 AM Changeset in webkit [231236] by
-
- 6 edits2 adds in trunk
Source/WebCore:
Prevent Debug ASSERT when changing forms
https://bugs.webkit.org/show_bug.cgi?id=185173
<rdar://problem/39738669>
Reviewed by Ryosuke Niwa.
Form submission could trigger a debug assertion during validation when
a form is changed during an input submission. Fix this by cleaning up
the event handling logic and make it more consistent with modern WebKit
coding style.
Test: fast/forms/form-submission-crash-3.html
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::defaultEventHandler): Make sure layout runs before
attempting to perform event handling.
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::reportValidity): Ditto.
(WebCore::HTMLFormElement::validateInteractively): Remove call to perform layout here,
since we expect this to happen earlier in the layout pass. Add an assertion that the
tree is not dirty.
- html/ImageInputType.cpp:
(WebCore::ImageInputType::handleDOMActivateEvent): Make sure layout runs before
attempting to perform event handling.
- html/SubmitInputType.cpp:
(WebCore::SubmitInputType::handleDOMActivateEvent): Ditto.
LayoutTests:
Prevent assertion when changing forms
https://bugs.webkit.org/show_bug.cgi?id=185173
<rdar://problem/39738669>
Reviewed by Ryosuke Niwa.
- fast/forms/form-submission-crash-3-expected.txt: Added.
- fast/forms/form-submission-crash-3.html: Added.
- 9:42 AM Changeset in webkit [231235] by
-
- 2 edits in trunk/Source/WebKit
Cannot gather srflx or relay ICE candidates on IPv6 network (ICE agent hangs?)
https://bugs.webkit.org/show_bug.cgi?id=181009
<rdar://problem/36144555>
Reviewed by Eric Carlson.
On iOS/IPv6 networks, STUN servers name resolution returns a zero IPv6 IP address.
No error is raised which leads to sending STUN requests with that IP address.
Once the request times out, the ICE candidate gathering finishes with host candidates only.
This patch makes WebRTC DNS resolver to send only IPv4 resolved addresses.
STUN is used for NAT traversal which is for IPv4 addresses.
Not sending IPv6 addresses allows terminating ICE candidate gathering sooner.
Manually tested on iOS with IPv4/IPv6 and IPv6 networks.
- NetworkProcess/webrtc/NetworkRTCResolverCocoa.cpp:
(WebKit::resolvedName):
- 9:41 AM Changeset in webkit [231234] by
-
- 4 edits2 adds in trunk
CacheStorage::Engine should keep a list of initialization callback
https://bugs.webkit.org/show_bug.cgi?id=185184
<rdar://problem/38875651>
Reviewed by Antti Koivisto.
Source/WebKit:
Keep each initialize callback in a Vector so as to compute the salt only once.
Call all callbacks then in a loop.
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::~Engine):
(WebKit::CacheStorage::Engine::initialize):
- NetworkProcess/cache/CacheStorageEngine.h:
LayoutTests:
- http/wpt/cache-storage/a-cache-open.https-expected.txt: Added.
- http/wpt/cache-storage/a-cache-open.https.html: Added.
- 9:13 AM Changeset in webkit [231233] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed; address review comments made before landing r231231.
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(VideoFullscreenControllerContext::volume const):
- 8:51 AM Changeset in webkit [231232] by
-
- 2 edits in trunk/Source/WTF
Enable HAVE_AVKIT for the MINIMAL_SIMULATOR
https://bugs.webkit.org/show_bug.cgi?id=185183
Reviewed by Daniel Bates.
- wtf/Platform.h:
- 8:50 AM Changeset in webkit [231231] by
-
- 16 edits in trunk/Source
Pipe volume through PlaybackSessionManager/Proxy.
https://bugs.webkit.org/show_bug.cgi?id=185182
Reviewed by Eric Carlson.
Source/WebCore:
Add support for the volume property to PlaybackSessionModel, and all its clients.
- platform/cocoa/PlaybackSessionModel.h:
(WebCore::PlaybackSessionModelClient::volumeChanged):
- platform/cocoa/PlaybackSessionModelMediaElement.h:
- platform/cocoa/PlaybackSessionModelMediaElement.mm:
(WebCore::PlaybackSessionModelMediaElement::updateForEventName):
(WebCore::PlaybackSessionModelMediaElement::setVolume):
(WebCore::PlaybackSessionModelMediaElement::volume const):
- platform/ios/PlaybackSessionInterfaceAVKit.h:
- platform/ios/PlaybackSessionInterfaceAVKit.mm:
(WebCore::PlaybackSessionInterfaceAVKit::volumeChanged):
- platform/ios/WebAVPlayerController.h:
- platform/ios/WebAVPlayerController.mm:
(-[WebAVPlayerController volume]):
(-[WebAVPlayerController setVolume:]):
(-[WebAVPlayerController volumeChanged:]):
(-[WebAVPlayerController resetMediaState]):
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(VideoFullscreenControllerContext::volumeChanged):
(VideoFullscreenControllerContext::volume const):
(VideoFullscreenControllerContext::setVolume):
Source/WebKit:
- UIProcess/Cocoa/PlaybackSessionManagerProxy.h:
- UIProcess/Cocoa/PlaybackSessionManagerProxy.messages.in:
- UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
(WebKit::PlaybackSessionModelContext::setVolume):
(WebKit::PlaybackSessionModelContext::volumeChanged):
(WebKit::PlaybackSessionManagerProxy::volumeChanged):
(WebKit::PlaybackSessionManagerProxy::setVolume):
- WebProcess/cocoa/PlaybackSessionManager.h:
- WebProcess/cocoa/PlaybackSessionManager.messages.in:
- WebProcess/cocoa/PlaybackSessionManager.mm:
(WebKit::PlaybackSessionInterfaceContext::volumeChanged):
(WebKit::PlaybackSessionManager::volumeChanged):
(WebKit::PlaybackSessionManager::setVolume):
- 5:00 AM Changeset in webkit [231230] by
-
- 5 edits1 add in trunk/Tools
[GTK] Generate a JSC bundle on the 64 and 32 bit release bots and upload it to webkitgtk.org
https://bugs.webkit.org/show_bug.cgi?id=184699
Reviewed by Gustavo Noronha Silva.
This adds a new step for the GTK 64-bit release build bot and the
GTK 32-bit release build&test bot.
This step will be run as one of the lasts ones (after the product
is built) and will execute the script generate-jsc-bundle.
This script will take care of creating a JSC bundle and uploading
it to a server defined on a configuration file that has to be
deployed on the bots with the required server data and credentials
for this upload.
In this case, the built products should then be accessible at
<https://webkitgtk.org/jsc-built-products>. But the implementation
is not tied to any specific server. All the details about where
to upload the file is done in configuration file that is kept
private on each bot outside of the WebKit source tree.
The script also supports generating a JSC bundle locally and not
uploading it anywhere. This is the default mode of running.
The remote upload will only be activated if a --remote-config-file
parameter is passed (which is done from the buildbot config)
- BuildSlaveSupport/build.webkit.org-config/config.json:
- BuildSlaveSupport/build.webkit.org-config/factories.py:
(BuildFactory):
(BuildFactory.init):
(TestFactory):
(TestFactory.init):
(BuildAndGenerateJSCBundleFactory):
(BuildAndNonLayoutTestAndGenerateJSCBundleFactory):
- BuildSlaveSupport/build.webkit.org-config/steps.py:
(GenerateJSCBundle):
- BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
- Scripts/generate-jsc-bundle: Added.
(ldd_get_libs_and_interpreter):
(generate_readme):
(generate_wrapper_script):
(copy_and_remove_rpath):
(createJSCBundle):
(sha256sum):
(uploadJSCBundle):
(main):
- 4:21 AM Changeset in webkit [231229] by
-
- 4 edits1 add in trunk
emitCodeToGetArgumentsArrayLength should not crash on PhantomNewArrayWithSpread
https://bugs.webkit.org/show_bug.cgi?id=183172
Reviewed by Filip Pizlo.
JSTests:
- stress/length-of-new-array-with-spread.js: Added.
(foo):
(bar):
(baz):
Source/JavaScriptCore:
DFGArgumentsEliminationPhase.cpp currently believes that allocations of NewArrayWithSpread can be deleted if they are only used by GetArrayLength,
but when it then calls emitCodeToGetArgumentsArrayLength, the latter has no idea what to do with GetArrayLength.
I fix the problem by teaching emitCodeToGetArgumentsArrayLength how to deal with GetArrayLength.
Because this requires emitting an Add that can overflow and thus exit, we also tell DFGArgumentsEliminationPhase to give up on eliminating
a NewArrayWithSpread when it is used by a GetArrayLength that is not allowed to exit.
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGArgumentsUtilities.cpp:
(JSC::DFG::emitCodeToGetArgumentsArrayLength):
- 4:06 AM Changeset in webkit [231228] by
-
- 3 edits in trunk/LayoutTests
Update document-create-touch.html expectations for r231114
https://bugs.webkit.org/show_bug.cgi?id=185193
Unreviewed test gardening.
- fast/events/touch/document-create-touch-expected.txt:
- fast/events/touch/document-create-touch.html:
- 3:51 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 3:06 AM Changeset in webkit [231227] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, stackPointer signature is different from declaration
https://bugs.webkit.org/show_bug.cgi?id=184790
- runtime/MachineContext.h:
(JSC::MachineContext::stackPointer):
May 1, 2018:
- 11:26 PM Changeset in webkit [231226] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, fix build in WinCairo
https://bugs.webkit.org/show_bug.cgi?id=185169
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::instantiateStreaming):
- bindings/js/JSDOMWindowBase.h:
- 11:16 PM Changeset in webkit [231225] by
-
- 9 edits4 adds in trunk/Websites/perf.webkit.org
Write a script that detects chart changes by using v3 API.
https://bugs.webkit.org/show_bug.cgi?id=184419
Reviewed by Ryosuke Niwa.
Added a script that detects chart changes and schedule confirming analysis task.
- browser-tests/async-task-tests.js: Added a unit test for 'AsyncTask'.
- browser-tests/index.html: Added import for 'AsyncTask' for testing.
- public/shared/statistics.js: Make 'findRangesForChangeDetectionsWithWelchsTTest' defaults to 0.99 one sided possibility.
(Statistics.new.this.findRangesForChangeDetectionsWithWelchsTTest):
- public/v3/async-task.js:
(AsyncTask.isAvailable): Helper function to determine whether AsyncTask is available or not as 'Worker' is
not available in nodejs.
(AsyncTask):
- public/v3/models/bug.js: Export as a module.
- public/v3/models/measurement-set.js:
(MeasurementSet.prototype._invokeSegmentationAlgorithm): Added a check to avoid using AsyncTask when running in NodeJs.
(MeasurementSet):
- server-tests/resources/common-operations.js: Added a helper function to assert certain exception is thrown.
(async.assertThrows):
- tools/js/measurement-set-analyzer.js: Added 'MeasurementSetAnalyzer' module for analyzing measurement set.
(MeasurementSetAnalyzer):
(MeasurementSetAnalyzer.prototype.async.analyzeOnce):
(MeasurementSetAnalyzer.measurementSetListForAnalysis):
(MeasurementSetAnalyzer.prototype.async._analyzeMeasurementSet):
- tools/js/v3-models.js: Added import for 'Bug' object.
- tools/run-analysis.js: Added this script to detect measurement set changes.
(main):
(async.analysisLoop):
- unit-tests/measurement-set-analyzer-tests.js: Added unit tests for 'MeasurementSetAnalyzer'.
- unit-tests/resources/mock-v3-models.js: Reset 'MeasurementSet._set' every time.
Update mock platform to include lastModifiedByMetric information.
(MockModels.inject):
- 10:51 PM Changeset in webkit [231224] by
-
- 27 edits2 adds in trunk
[JSC] Add SameValue DFG node
https://bugs.webkit.org/show_bug.cgi?id=185065
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/object-is.js: Added.
(incognito):
(sameValue):
(test1):
(test2):
(test3):
(test4):
(test5):
(test6):
- stress/object-is.js: Added.
(shouldBe):
(is1):
(is2):
(is3):
(is4):
(is5):
(is6):
(is7):
(is8):
(is9):
(is10):
(is11):
(is12):
(is13):
(is14):
(is15):
Source/JavaScriptCore:
This patch adds Object.is handling in DFG and FTL. Object.is is converted to SameValue DFG node.
And DFG fixup phase attempts to convert SameValue node to CompareStrictEq with type filter edges
if possible. Since SameValue(Untyped, Untyped) and SameValue(Double, Double) have different semantics
from CompareStrictEq, we do not convert SameValue to CompareStrictEq for them. DFG and FTL have
implementations for these SameValue nodes.
This old MacroAssemblerX86Common::compareDouble was dead code since the derived class, "MacroAssembler"
has a generalized compareDouble, which just uses branchDouble. Since this was not used, this function
was broken. This patch fixes issues and move compareDouble to MacroAssemblerX86Common, and remove a
generalized compareDouble for x86 arch to use this specialized efficient version instead. The fixes are
correctly using set32 to zero-extending the result, and setting the initial value ofdest
register
correctly for DoubleEqual and DoubleNotEqualOrUnordered cases.
Added microbenchmark shows performance improvement.
object-is 651.0053+-38.8204 241.3467+-15.8753 definitely 2.6974x faster
- assembler/MacroAssembler.h:
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::compareDouble):
- assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::compareDouble): Deleted.
- assembler/testmasm.cpp:
(JSC::doubleOperands):
(JSC::testCompareDouble):
(JSC::run):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupCompareStrictEqAndSameValue):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileSameValue):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGValidate.cpp:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileSameValue):
- runtime/Intrinsic.cpp:
(JSC::intrinsicName):
- runtime/Intrinsic.h:
- runtime/ObjectConstructor.cpp:
- 9:32 PM Changeset in webkit [231223] by
-
- 20 edits in trunk/Source
Use default std::optional if it is provided
https://bugs.webkit.org/show_bug.cgi?id=185159
Reviewed by JF Bastien.
Source/WebCore:
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::iceServersFromConfiguration):
(WebCore::RTCPeerConnection::setConfiguration):
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseSystemColor):
- css/parser/CSSParser.h:
- dom/DatasetDOMStringMap.cpp:
(WebCore::DatasetDOMStringMap::item const):
(WebCore::DatasetDOMStringMap::namedItem const):
(WebCore:: const): Deleted.
- dom/DatasetDOMStringMap.h:
- dom/Element.cpp:
(WebCore::Element::insertAdjacentHTML):
- dom/Element.h:
- inspector/DOMEditor.cpp:
- platform/network/curl/CurlFormDataStream.cpp:
(WebCore::CurlFormDataStream::getPostData):
(): Deleted.
- platform/network/curl/CurlFormDataStream.h:
- testing/MockCDMFactory.cpp:
(WebCore::MockCDMFactory::keysForSessionWithID const):
(WebCore::MockCDMInstance::updateLicense):
(WebCore:: const): Deleted.
- testing/MockCDMFactory.h:
Source/WebKit:
- Shared/SandboxExtension.h:
(WebKit::SandboxExtension::Handle::decode):
- Shared/TouchBarMenuItemData.cpp:
(WebKit::TouchBarMenuItemData::decode):
Source/WTF:
Now C++17 flag is enabled. It means that any standard libraries can use <optional> internally.
If we define std::optional regardless of the existence of the standard library's <optional>,
it causes compile errors. For example, in GCC 7 (specifically GCC 7.3.0) environment,
<optional> is included in <unordered_map>.
We do not define std::optional in WebKit side if <optional> is offered.
And we also remove std::optional<T&> use since this is not accepted in C++17. Use
std::optional<std::reference_wrapper<T>> instead.
- wtf/Expected.h:
constexpr does not mean const in C++17.
- wtf/Optional.h:
Do not define std::optional if <optional> is provided.
(WTF::valueOrCompute):
- 9:05 PM Changeset in webkit [231222] by
-
- 9 edits1 add in trunk/Tools
PSON: Make WebKitTestRunner work with process swap on navigation turned on
https://bugs.webkit.org/show_bug.cgi?id=185111
Reviewed by Chris Dumez.
Add the basic support for running layout tests with process-swap-on-navigation turned on.
First, move m_whatToDump, m_dumpPixels, m_waitToDump, and m_dumpFrameLoadCallbacks from WebContent process
to UI process so that calls to waitUntilDone, dumpAsText, etc... persist across process swaps.
In addition, initialize the injected bundle inside a new WebContent process when the first page is created.
This instantiates objects such as TestRunner, GCController, etc... in the new process. The initialization
can't be done in InjectedBundle::beginTesting because some steps in InjectedBundle::initialize require
the current PageGroup and Page objects. We avoid clearing databases and app cache in this case.
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didCreatePage): Send "Initialization" message to UI process. This message returns
all the dictionary values usually present in "BeginTest" message from UI process as well as "ResumeTesting"
boolean which is set when this process was created as a result of a process swap on navgation. Invoke
beginTesting with BegingTestingMode::Resume when this boolean is set.
(WTR::InjectedBundle::didReceiveMessageToPage):
(WTR::InjectedBundle::beginTesting): Don't clear database, app cache, etc... when initializing an injected
bundle after a process swap on navigation.
- WebKitTestRunner/InjectedBundle/InjectedBundle.h:
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::dump):
(WTR::InjectedBundlePage::frameDidChangeLocation):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::TestRunner):
(WTR::TestRunner::shouldDumpPixels const): Added.
(WTR::TestRunner::setDumpPixels): Added.
(WTR::TestRunner::dumpAsText):
(WTR::TestRunner::whatToDump const): Added.
(WTR::TestRunner::setWhatToDump): Added.
(WTR::TestRunner::waitUntilDone):
(WTR::TestRunner::setWaitUntilDone): Added.
(WTR::TestRunner::shouldWaitUntilDone): Added.
(WTR::TestRunner::notifyDone):
(WTR::TestRunner::forceImmediateCompletion):
(WTR::TestRunner::setShouldDumpFrameLoadCallbacks): Added.
(WTR::TestRunner::shouldDumpFrameLoadCallbacks): Added.
(WTR::TestRunner::setAudioResult):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::dumpChildFramesAsText):
(WTR::TestRunner::dumpDOMAsWebArchive):
(WTR::TestRunner::setShouldDumpFrameLoadCallbacks): Moved to cpp.
(WTR::TestRunner::whatToDump const): Moved to cpp.
(WTR::TestRunner::shouldDumpMainFrameScrollPosition const):
(WTR::TestRunner::shouldDumpPixels const): Moved to cpp.
(WTR::TestRunner::shouldDumpFrameLoadCallbacks const): Moved to cpp.
(WTR::TestRunner::waitToDump const): Renamed to shouldWaitUntilDone and moved to cpp.
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::TestInvocation): Initialize m_dumpFrameLoadCallbacks here.
(WTR::TestInvocation::shouldLogFrameLoadDelegates const): Deleted.
(WTR::TestInvocation::createTestSettingsDictionary): Extracted from invoke().
(WTR::TestInvocation::invoke): Sets m_startedTesting to true immediately afte sending "BeginTest" message.
m_startedTesting is later used in didReceiveSynchronousMessageFromInjectedBundle to detect whether a given
"Initialization" message is sent from a regular WebContent process (m_startedTesting is false) or the one
started as a result of a process swap on navigation (m_startedTesting is true).
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): Added a bunch of new messgaes to
support initializing the injected bundle in a process swapped after navigation and set/get messages for
the states which must persist across process swaps within a test.
- WebKitTestRunner/TestInvocation.h:
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- Tools/WebKitTestRunner/WhatToDump.h:
(WTR::WhatToDump): Added.
- 8:33 PM Changeset in webkit [231221] by
-
- 2 edits in trunk/Source/WebCore
Add release assertions in CFNetwork's SocketStreamHandleImpl to help debug a threading issue
https://bugs.webkit.org/show_bug.cgi?id=185181
Reviewed by Geoffrey Garen.
Add release assertions in CFNetwork's SocketStreamHandleImpl to help debug a threading issue
on iOS WebKitLegacy (Bug 185073). It appears readStreamCallback() can get called on the UIThread,
which should not be possible if scheduleStreams() was called on the WebThread, as it is supposed
to. The new release assertion in scheduleStreams() should tell us if somebody is calling it from
the UIthread instead of the WebThread on iOS WebKitLegacy.
- platform/network/cf/SocketStreamHandleImplCFNet.cpp:
(WebCore::SocketStreamHandleImpl::scheduleStreams):
(WebCore::SocketStreamHandleImpl::readStreamCallback):
- 5:01 PM Changeset in webkit [231220] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, remove an unused variable in RuntimeEnabledFeatures.h
- page/RuntimeEnabledFeatures.h:
- 4:38 PM Changeset in webkit [231219] by
-
- 3 edits2 moves in trunk
Auto save the results for Test262
https://bugs.webkit.org/show_bug.cgi?id=184926
Patch by Leo Balter <Leo Balter> on 2018-05-01
Reviewed by Michael Saboff.
Tools:
- Scripts/test262/Runner.pm:
(processCLI):
(main):
(parseError):
(processResult):
(summarizeResults):
- Scripts/test262/config.yaml: Renamed from Tools/Scripts/test262/test262-config.yaml.
- 4:37 PM Changeset in webkit [231218] by
-
- 13 edits in trunk
Web Inspector: Canvas tab: determine hasVisibleEffect for all actions immediately after recording is added
https://bugs.webkit.org/show_bug.cgi?id=182995
Reviewed by Matt Baker.
Source/WebInspectorUI:
Previously, we'd swizzle the entirety of the
WI.Recording
in one, which would usually
freeze the UI, especially for larger recordings. This patch usesWI.YieldableTask
to split
the work and allow the rest of the UI to still be usable whileWI.Recording
are processing.
Additionally, since we no longer have to worry about hangs, we can do more work upfront,
such as calculatinghasVisibleEffect
and the current state of 2D canvases.
These changes require that all uses of
WI.Recording
callprocess()
before attempting to
use anyframes
/actions
/initialState
, as they will have their original payload values
and will have not been swizzled or applied.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Models/Recording.js:
(WI.Recording):
(WI.Recording.prototype.process):
(WI.Recording.prototype.createContext): Added.
(WI.Recording.prototype.async yieldableTaskWillProcessItem): Added.
(WI.Recording.prototype.async yieldableTaskDidFinish): Added.
- UserInterface/Models/RecordingAction.js:
(WI.RecordingAction):
(WI.RecordingAction.prototype.process): Added.
(WI.RecordingAction.prototype.async swizzle): Added.
(WI.RecordingAction.prototype.apply):
(WI.RecordingAction.prototype.toJSON):
(WI.RecordingAction.prototype.set state): Deleted.
(WI.RecordingAction.prototype.swizzle): Deleted.
(WI.RecordingAction.prototype.apply.getContent): Deleted.
(WI.RecordingAction.prototype.async _swizzle): Deleted.
- UserInterface/Models/RecordingInitialStateAction.js:
(WI.RecordingInitialStateAction):
- UserInterface/Views/CanvasSidebarPanel.js:
(WI.CanvasSidebarPanel):
(WI.CanvasSidebarPanel.prototype.set action):
(WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
(WI.CanvasSidebarPanel.prototype._recordingChanged):
- UserInterface/Views/CanvasSidebarPanel.css:
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .indeterminate-progress-spinner):
- UserInterface/Views/RecordingActionTreeElement.js:
(WI.RecordingActionTreeElement):
(WI.RecordingActionTreeElement.prototype.onattach):
(WI.RecordingActionTreeElement.prototype._handleHasVisibleEffectChanged): Deleted.
- UserInterface/Views/RecordingContentView.js:
(WI.RecordingContentView):
(WI.RecordingContentView.prototype.get navigationItems):
(WI.RecordingContentView.prototype.updateActionIndex):
(WI.RecordingContentView.prototype.initialLayout):
(WI.RecordingContentView.prototype._generateContentCanvas2D): Added.
(WI.RecordingContentView.prototype._generateContentCanvasWebGL): Added.
(WI.RecordingContentView.prototype._updateCanvasPath):
(WI.RecordingContentView.prototype._updateProcessProgress): Added.
(WI.RecordingContentView.prototype._handleRecordingProcessedActionSwizzle): Added.
(WI.RecordingContentView.prototype._handleRecordingProcessedActionApply): Added.
(WI.RecordingContentView.supportsCanvasPathDebugging): Deleted.
(WI.RecordingContentView.prototype.async _generateContentCanvas2D): Deleted.
(WI.RecordingContentView.prototype.async _generateContentCanvasWebGL): Deleted.
- UserInterface/Views/RecordingContentView.css:
(.content-view:not(.tab).recording > .preview-container):
- UserInterface/Base/ImageUtilities.js:
(WI.ImageUtilities.supportsCanvasPathDebugging):
LayoutTests:
- inspector/canvas/resources/recording-utilities.js:
- 4:26 PM Changeset in webkit [231217] by
-
- 7 edits in branches/safari-605-branch/Source
Versioning.
- 4:11 PM Changeset in webkit [231216] by
-
- 1 copy in tags/Safari-605.2.8
Tag Safari-605.2.8.
- 3:19 PM Changeset in webkit [231215] by
-
- 2 edits in trunk/Source/WebKit
Production build error in Migrate Header phase when WK_ALTERNATE_FRAMEWORKS_DIR is set to non-empty value
https://bugs.webkit.org/show_bug.cgi?id=185171
Reviewed by Timothy Hatcher.
- Configurations/BaseTarget.xcconfig:
- 3:03 PM Changeset in webkit [231214] by
-
- 16 edits2 adds in tags/Safari-606.1.15.0.1
Cherry-pick r230978. rdar://problem/39707286
Add a new "color-filter" CSS property as an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=184940
Source/WebCore:
rdar://problem/39664904
Reviewed by Jon Lee.
Add a new CSS property called "color-filter" as an experimental feature (off by default).
This property specifies a list of filter functions (as specified in https://drafts.fxtf.org/filter-effects/#supported-filter-functions)
to CSS colors, allowing authors to modify the provided page colors, for example to improve accessibility.
Filters that move pixels (i.e. blur() and drop-shadow()) are invalid in this property.
Colors will be mapped through the filter functions just before paint time, and gradient stop colors will also be mapped.
This patch adds support for parsing color-filter.
Test: css3/color-filters/color-filter-parsing.html
- css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle):
- css/CSSProperties.json:
- css/parser/CSSParser.cpp: (WebCore::CSSParserContext::CSSParserContext): (WebCore::operator==):
- css/parser/CSSParserMode.h:
- css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue):
- css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::isColorFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilter):
- css/parser/CSSPropertyParserHelpers.h:
- page/Settings.yaml:
- rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRepaint const):
- rendering/style/RenderStyle.h: (WebCore::RenderStyle::mutableColorFilter): (WebCore::RenderStyle::colorFilter const): (WebCore::RenderStyle::hasColorFilter const): (WebCore::RenderStyle::setColorFilter): (WebCore::RenderStyle::initialColorFilter):
- rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): (WebCore::StyleRareInheritedData::hasColorFilters const):
- rendering/style/StyleRareInheritedData.h:
Source/WebKit:
Reviewed by Jon Lee.
Add the color-filter property as an experimental feature.
- Shared/WebPreferences.yaml:
LayoutTests:
Reviewed by Jon Lee.
- css3/color-filters/color-filter-parsing-expected.txt: Added.
- css3/color-filters/color-filter-parsing.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:03 PM Changeset in webkit [231213] by
-
- 6 edits in tags/Safari-606.1.15.0.1/Source/WebCore
Cherry-pick r230979. rdar://problem/39707298
visitedDependentColor() should take a CSSPropertyID
https://bugs.webkit.org/show_bug.cgi?id=184949
Reviewed by Sam Weinig.
Change RenderStyle::colorIncludingFallback(), RenderStyle::visitedDependentColor()
and RenderElement::selectionColor() to take CSSPropertyID rather than int.
No behavior change.
- rendering/RenderElement.cpp: (WebCore::RenderElement::selectionColor const):
- rendering/RenderElement.h:
- rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::computeCollapsedStartBorder const): (WebCore::RenderTableCell::computeCollapsedEndBorder const): (WebCore::RenderTableCell::computeCollapsedBeforeBorder const): (WebCore::RenderTableCell::computeCollapsedAfterBorder const):
- rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::colorIncludingFallback const): (WebCore::RenderStyle::visitedDependentColor const):
- rendering/style/RenderStyle.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230979 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:46 PM Changeset in webkit [231212] by
-
- 7 edits in tags/Safari-606.1.15.3/Source
Versioning.
- 2:44 PM Changeset in webkit [231211] by
-
- 1 copy in tags/Safari-606.1.15.3
New tag.
- 2:27 PM Changeset in webkit [231210] by
-
- 2 edits in trunk/Source/WebCore
Fix build error after r231194
https://bugs.webkit.org/show_bug.cgi?id=185169
Reviewed by JF Bastien.
Prevent compile error in iOS Simulator debug build
by tagging function
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::compileStreaming):
(WebCore::JSDOMWindowBase::instantiateStreaming):
- 1:53 PM Changeset in webkit [231209] by
-
- 2 edits in trunk/Tools
webkitpy: SIGKILL right after SIGTERM causes orphaned processes with 'xcrun simctl spawn'
https://bugs.webkit.org/show_bug.cgi?id=185164
Reviewed by David Kilzer.
- Scripts/webkitpy/common/system/executive.py:
(Executive.kill_process): First attempt will always send a SIGTERM, all subsequent attempts will
send a SIGKILL. A SIGKILL with not be sent if the process is not running to avoid orphaning childen.
- 1:40 PM Changeset in webkit [231208] by
-
- 4 edits in trunk/Tools
REGRESSION (r230919): API test WebKit.AutoLayoutIntegration is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=184918
<rdar://problem/39705516>
Reviewed by Wenson Hsieh.
Make sure provisional load has started before calling beginLayoutAtMinimumWidth
on the AutoLayoutWKWebView to restore pre-r230919 behavior. The load now starts
asynchronously because we ask the client if it is OK to do the load and the policy
delegates are asynchronous nowadays.
- TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
(-[AutoLayoutWKWebView load:withWidth:expectingContentSize:resettingWidth:]):
- TestWebKitAPI/cocoa/TestNavigationDelegate.h:
- TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[TestNavigationDelegate webView:didStartProvisionalNavigation:]):
(-[TestNavigationDelegate waitForDidStartProvisionalNavigation]):
(-[WKWebView _test_waitForDidStartProvisionalNavigation]):
- 1:37 PM Changeset in webkit [231207] by
-
- 3 edits in trunk/Source/WebCore/PAL
Protect against changes to CoreMedia function signatures
https://bugs.webkit.org/show_bug.cgi?id=185167
Reviewed by Eric Carlson.
- pal/cf/CoreMediaSoftLink.cpp:
- pal/cf/CoreMediaSoftLink.h:
- 12:57 PM Changeset in webkit [231206] by
-
- 4 edits in trunk/Tools
[WinCairo] Align buildbot test stages with AppleWin.
https://bugs.webkit.org/show_bug.cgi?id=185094
Reviewed by Brent Fulgham.
- BuildSlaveSupport/build.webkit.org-config/factories.py:
(TestFactory.init):
Do run API tests, don't run dashboard tests.
- BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunUnitTests):
Call run-api-tests with Python, not Perl (bugfix for r230998).
- Scripts/webkitpy/port/win.py:
(WinPort.environment_for_api_tests):
Retrieve necessary Windows environment variables.
- 12:57 PM Changeset in webkit [231205] by
-
- 2 edits in trunk/Source/WebKit
Use correct runloop type in the WebContent process.
https://bugs.webkit.org/show_bug.cgi?id=185140
Reviewed by Brent Fulgham.
Use WK_MACOS_* machinery to determine runloop type for the WebContent process.
- Configurations/WebContentService.xcconfig:
- 12:55 PM Changeset in webkit [231204] by
-
- 8 edits in trunk/Source/JavaScriptCore
B3::demoteValues should be able to handle patchpoint terminals
https://bugs.webkit.org/show_bug.cgi?id=185151
Reviewed by Saam Barati.
If we try to demote a patchpoint terminal then prior to this change we would append a Set to
the basic block that the patchpoint terminated. That's wrong because then the terminal is no
longer the last thing in the block.
Air encounters this problem in spilling and solves it by doing a fixup afterwards. We can't
really do that because demotion happens as a prerequisite to other transformations.
One solution might have been to make demoteValues insert a basic block whenever it encounters
this problem. But that would break clients that do CFG analysis before demoteValues and use
the results of the CFG analysis after demoteValues. Taildup does this. Fortunately, taildup
also runs breakCriticalEdges. Probably anyone using demoteValues will use breakCriticalEdges,
so it's not bad to introduce that requirement.
So, this patch solves the problem by ensuring that breakCriticalEdges treats any patchpoint
terminal as if it had multiple successors. This means that a patchpoint terminal's successors
will only have it as their predecessor. Then, demoteValues just prepends the Set to the
successors of the patchpoint terminal.
This was probably asymptomatic. It's hard to write a JS test that triggers this, so I added
a unit test in testb3.
- b3/B3BreakCriticalEdges.cpp:
(JSC::B3::breakCriticalEdges):
- b3/B3BreakCriticalEdges.h:
- b3/B3FixSSA.cpp:
(JSC::B3::demoteValues):
(JSC::B3::fixSSA):
- b3/B3FixSSA.h:
- b3/B3Value.cpp:
(JSC::B3::Value::foldIdentity const):
(JSC::B3::Value::performSubstitution):
- b3/B3Value.h:
- b3/testb3.cpp:
(JSC::B3::testDemotePatchpointTerminal):
(JSC::B3::run):
- 12:45 PM Changeset in webkit [231203] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening, correct a typo in the iOS TestExpectation file.
- platform/ios/TestExpectations:
- 12:45 PM Changeset in webkit [231202] by
-
- 9 edits12 adds in trunk/LayoutTests
Rebaseline tests after r231165.
https://bugs.webkit.org/show_bug.cgi?id=185166
Unreviewed test gardening.
- animations/font-variations/font-variation-settings-expected.txt:
- animations/font-variations/font-variation-settings-order-expected.txt:
- animations/font-variations/font-variation-settings-order.html:
- animations/font-variations/font-variation-settings.html:
- legacy-animation-engine/animations/font-variations/font-variation-settings-expected.txt:
- legacy-animation-engine/animations/font-variations/font-variation-settings-order-expected.txt:
- legacy-animation-engine/animations/font-variations/font-variation-settings-order.html:
- legacy-animation-engine/animations/font-variations/font-variation-settings.html:
- platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt: Added.
- platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt: Added.
- platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Added.
- 10:27 AM Changeset in webkit [231201] by
-
- 9 edits2 deletes in trunk
[MediaStream] remove WK1 support
https://bugs.webkit.org/show_bug.cgi?id=185136
Reviewed by Youenn Fablet.
Source/WebKitLegacy:
- WebKitLegacy.xcodeproj/project.pbxproj:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebUserMediaClient.h: Removed.
- WebCoreSupport/WebUserMediaClient.mm: Removed.
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _preferencesChanged:]):
(-[WebView _setUserMediaClient:]): Deleted.
(-[WebView _userMediaClient]): Deleted.
- WebView/WebViewData.h:
- WebView/WebViewPrivate.h:
Tools:
- DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:decidePolicyForUserMediaRequestFromOrigin:listener:]): Deleted.
- 10:23 AM Changeset in webkit [231200] by
-
- 19 edits2 adds in branches/safari-605-branch
Apply patch. rdar://problem/39741039
- 10:09 AM Changeset in webkit [231199] by
-
- 2 edits in trunk/Tools
[WKTR] Move navigation policy for response decision from InjectedBundle to UIProcess
https://bugs.webkit.org/show_bug.cgi?id=185157
Reviewed by Geoffrey Garen.
Move navigation policy for response decision from InjectedBundle to UIProcess. This is a more
common configuration and should therefore be the configuration we test by default.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::decidePolicyForResponse):
- 9:03 AM Changeset in webkit [231198] by
-
- 2 edits in trunk/Source/JavaScriptCore
Use CheckedArithmetic for length computation in JSArray::unshiftCountWithAnyIndexingType
https://bugs.webkit.org/show_bug.cgi?id=184772
<rdar://problem/39146327>
Reviewed by Filip Pizlo.
Related to https://bugs.webkit.org/show_bug.cgi?id=183657 (<rdar://problem/38464399), where a check was missing.
This patch now makes sure that the check correctly detects if there is an integer overflow.
- runtime/JSArray.cpp:
(JSC::JSArray::unshiftCountWithAnyIndexingType):
- 9:01 AM Changeset in webkit [231197] by
-
- 8 edits1 add in trunk
Correctly detect string overflow when using the 'Function' constructor
https://bugs.webkit.org/show_bug.cgi?id=184883
<rdar://problem/36320331>
Reviewed by Filip Pizlo.
JSTests:
I put this regression test in the 'slowMicrobenchmarks' directory because it takes nearly 30s to run, and I am not sure where else to put it.
- slowMicrobenchmarks/function-constructor-with-huge-strings.js: Added.
(catch):
Source/JavaScriptCore:
The 'Function' constructor creates a string containing the source code of the new function through repeated string concatenation.
Because there was no way for the string concatenation routines in WTF to return an error, they just crashed in that case.
I added new tryAppend methods alongside the old append methods, that return a boolean (true means success, false means an overflow happened).
In this way, it becomes possible for the Function constructor to just throw a proper JS exception when asked to create a string > 4GB.
I made new methods instead of just adapting the existing ones (and reverted such a change on appendQuotedJSONString) so that callers that rely on the old behaviour (a hard CRASH() on overflow) don't silently start failing.
- runtime/FunctionConstructor.cpp:
(JSC::constructFunctionSkippingEvalEnabledCheck):
- runtime/JSONObject.cpp:
(JSC::Stringifier::appendStringifiedValue):
Source/WTF:
I added new tryAppend methods alongside the old append methods in StringBuilder, that return a boolean (true means success, false means an overflow happened).
I made new methods instead of just adapting the existing ones (and reverted such a change on appendQuotedJSONString) so that callers that rely on the old behaviour (a hard CRASH() on overflow) don't silently start failing.
- wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::allocateBufferUpConvert):
(WTF::StringBuilder::tryAllocateBufferUpConvert):
(WTF::StringBuilder::appendUninitialized):
(WTF::StringBuilder::append):
(WTF::StringBuilder::tryAppend):
- wtf/text/StringBuilder.h:
(WTF::StringBuilder::tryAppend):
(WTF::StringBuilder::append):
(WTF::StringBuilder::tryAppendLiteral):
- wtf/text/StringBuilderJSON.cpp:
(WTF::StringBuilder::appendQuotedJSONString):
(WTF::StringBuilder::tryAppendQuotedJSONString):
- 8:52 AM WebKitGTK/2.20.x edited by
- Propose r229505 (diff)
- 8:47 AM Changeset in webkit [231196] by
-
- 3 edits1 add in trunk
IntlObject.cpp::removeUnicodeLocaleExtension() should not touch locales that end in '-u'
https://bugs.webkit.org/show_bug.cgi?id=185162
Reviewed by Filip Pizlo.
JSTests:
- stress/incomplete-unicode-locale.js: Added.
(catch):
Source/JavaScriptCore:
- runtime/IntlObject.cpp:
(JSC::removeUnicodeLocaleExtension):
- 8:42 AM Changeset in webkit [231195] by
-
- 17 edits1 add in trunk
Add SetCallee as DFG-Operation
https://bugs.webkit.org/show_bug.cgi?id=184582
Patch by Dominik Infuehr <dinfuehr@igalia.com> on 2018-05-01
Reviewed by Filip Pizlo.
JSTests:
Added test that runs into infinite loop without updating the callee and
therefore emitting SetCallee in DFG for recursive tail calls.
- stress/closure-recursive-tail-call-infinite-loop.js: Added.
(Foo):
(second):
(first):
(return.closure):
(createClosure):
Source/JavaScriptCore:
For recursive tail calls not only the argument count can change but also the
callee. Add SetCallee to DFG that sets the callee slot in the current call frame.
Also update the callee when optimizing a recursive tail call.
Enable recursive tail call optimization also for closures.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleRecursiveTailCall):
(JSC::DFG::ByteCodeParser::handleCallVariant):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGMayExit.cpp:
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileSetCallee):
- dfg/DFGSpeculativeJIT.h:
- 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::compileSetCallee):
- 1:47 AM Changeset in webkit [231194] by
-
- 34 edits1 copy11 adds in trunk
WebAssembly: add support for stream APIs - JavaScript API
https://bugs.webkit.org/show_bug.cgi?id=183442
Reviewed by Yusuke Suzuki and JF Bastien.
- Source/cmake/WebKitFeatures.cmake:
LayoutTests/imported/w3c:
- web-platform-tests/wasm/resources/incrementer.no_mime_type.wasm: Added.
- web-platform-tests/wasm/resources/incrementer.wasm: Added.
- web-platform-tests/wasm/resources/incrementer.wasm.headers: Added.
- web-platform-tests/wasm/resources/incrementer.wrong_mime_type.wasm: Added.
- web-platform-tests/wasm/resources/incrementer.wrong_mime_type.wasm.headers: Added.
- web-platform-tests/wasm/wasm_stream_compile_test-expected.txt: Added.
- web-platform-tests/wasm/wasm_stream_compile_test.html: Added.
- web-platform-tests/wasm/wasm_stream_instantiate_test-expected.txt: Added.
- web-platform-tests/wasm/wasm_stream_instantiate_test.html: Added.
Source/JavaScriptCore:
Add WebAssembly stream API. Current patch only add functions
WebAssembly.compileStreaming and WebAssembly.instantiateStreaming but,
does not add streaming way of the implementation. So in current version it
only wait for load whole module, than start to parse.
- CMakeLists.txt:
- Configurations/FeatureDefines.xcconfig:
- DerivedSources.make:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/BuiltinNames.h:
- builtins/WebAssemblyPrototype.js: Copied from Source/JavaScriptCore/wasm/js/WebAssemblyPrototype.h.
(compileStreaming):
(instantiateStreaming):
- jsc.cpp:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSGlobalObject.h:
- runtime/Options.h:
- runtime/PromiseDeferredTimer.cpp:
(JSC::PromiseDeferredTimer::hasPendingPromise):
(JSC::PromiseDeferredTimer::hasDependancyInPendingPromise):
- runtime/PromiseDeferredTimer.h:
- wasm/js/WebAssemblyPrototype.cpp:
(JSC::webAssemblyModuleValidateAsyncInternal):
(JSC::webAssemblyCompileFunc):
(JSC::WebAssemblyPrototype::webAssemblyModuleValidateAsync):
(JSC::webAssemblyModuleInstantinateAsyncInternal):
(JSC::WebAssemblyPrototype::webAssemblyModuleInstantinateAsync):
(JSC::webAssemblyCompileStreamingInternal):
(JSC::webAssemblyInstantiateStreamingInternal):
(JSC::WebAssemblyPrototype::create):
(JSC::WebAssemblyPrototype::finishCreation):
- wasm/js/WebAssemblyPrototype.h:
Source/WebCore:
Add WebAssembly streaming API to WebCore.
- Configurations/FeatureDefines.xcconfig:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::tryAllocate):
(WebCore::isResponseCorrect):
(WebCore::handleResponseOnStreamingAction):
(WebCore::JSDOMWindowBase::compileStreaming):
(WebCore::JSDOMWindowBase::instantiateStreaming):
- bindings/js/JSDOMWindowBase.h:
- bindings/js/JSRemoteDOMWindowBase.cpp:
- bindings/js/JSWorkerGlobalScopeBase.cpp:
Source/WebCore/PAL:
Add WEBASSEMBLY_STREAMING_API feature flag
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
Add WEBASSEMBLY_STREAMING_API feature flag
- Configurations/FeatureDefines.xcconfig:
Source/WebKitLegacy/mac:
Add WEBASSEMBLY_STREAMINNG_API feature flag
- Configurations/FeatureDefines.xcconfig:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
Oleksandrs-MacBook-Pro:WebKit developer$ Tools/Scripts/commit-log-editor --print-log ChangeLog LayoutTests/ChangeLog LayoutTests/imported/w3c/ChangeLog Source/JavaScriptCore/ChangeLog Source/WebCore/ChangeLog Source/WebCore/PAL/ChangeLog Source/WebKit/ChangeLog Source/WebKitLegacy/mac/ChangeLog Tools/ChangeLog
WebAssembly: add support for stream APIs - JavaScript API
https://bugs.webkit.org/show_bug.cgi?id=183442
Reviewed by Yusuke Suzuki and JF Bastien.
- Source/cmake/WebKitFeatures.cmake:
LayoutTests/imported/w3c:
- web-platform-tests/wasm/resources/incrementer.no_mime_type.wasm: Added.
- web-platform-tests/wasm/resources/incrementer.wasm: Added.
- web-platform-tests/wasm/resources/incrementer.wasm.headers: Added.
- web-platform-tests/wasm/resources/incrementer.wrong_mime_type.wasm: Added.
- web-platform-tests/wasm/resources/incrementer.wrong_mime_type.wasm.headers: Added.
- web-platform-tests/wasm/wasm_stream_compile_test-expected.txt: Added.
- web-platform-tests/wasm/wasm_stream_compile_test.html: Added.
- web-platform-tests/wasm/wasm_stream_instantiate_test-expected.txt: Added.
- web-platform-tests/wasm/wasm_stream_instantiate_test.html: Added.
Source/JavaScriptCore:
Add WebAssembly stream API. Current patch only add functions
WebAssembly.compileStreaming and WebAssembly.instantiateStreaming but,
does not add streaming way of the implementation. So in current version it
only wait for load whole module, than start to parse.
- CMakeLists.txt:
- Configurations/FeatureDefines.xcconfig:
- DerivedSources.make:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/BuiltinNames.h:
- builtins/WebAssemblyPrototype.js: Copied from Source/JavaScriptCore/wasm/js/WebAssemblyPrototype.h.
(compileStreaming):
(instantiateStreaming):
- jsc.cpp:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSGlobalObject.h:
- runtime/Options.h:
- runtime/PromiseDeferredTimer.cpp:
(JSC::PromiseDeferredTimer::hasPendingPromise):
(JSC::PromiseDeferredTimer::hasDependancyInPendingPromise):
- runtime/PromiseDeferredTimer.h:
- wasm/js/WebAssemblyPrototype.cpp:
(JSC::webAssemblyModuleValidateAsyncInternal):
(JSC::webAssemblyCompileFunc):
(JSC::WebAssemblyPrototype::webAssemblyModuleValidateAsync):
(JSC::webAssemblyModuleInstantinateAsyncInternal):
(JSC::WebAssemblyPrototype::webAssemblyModuleInstantinateAsync):
(JSC::webAssemblyCompileStreamingInternal):
(JSC::webAssemblyInstantiateStreamingInternal):
(JSC::WebAssemblyPrototype::create):
(JSC::WebAssemblyPrototype::finishCreation):
- wasm/js/WebAssemblyPrototype.h:
Source/WebCore:
Add WebAssembly streaming API to WebCore.
- Configurations/FeatureDefines.xcconfig:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::tryAllocate):
(WebCore::isResponseCorrect):
(WebCore::handleResponseOnStreamingAction):
(WebCore::JSDOMWindowBase::compileStreaming):
(WebCore::JSDOMWindowBase::instantiateStreaming):
- bindings/js/JSDOMWindowBase.h:
- bindings/js/JSRemoteDOMWindowBase.cpp:
- bindings/js/JSWorkerGlobalScopeBase.cpp:
Source/WebCore/PAL:
Add WEBASSEMBLY_STREAMING_API feature flag
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
Add WEBASSEMBLY_STREAMING_API feature flag
- Configurations/FeatureDefines.xcconfig:
Source/WebKitLegacy/mac:
Add WEBASSEMBLY_STREAMINNG_API feature flag
- Configurations/FeatureDefines.xcconfig:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
LayoutTests:
- platform/ios-simulator/TestExpectations:
- platform/win/TestExpectations:
Apr 30, 2018:
- 11:04 PM Changeset in webkit [231193] by
-
- 3 edits1 add in trunk
ToString constant folds without preserving checks, causing us to break assumptions that the code would OSR exit
https://bugs.webkit.org/show_bug.cgi?id=185149
<rdar://problem/39455917>
Reviewed by Filip Pizlo.
JSTests:
- stress/keep-checks-when-converting-to-lazy-js-constant-in-strength-reduction.js: Added.
Source/JavaScriptCore:
The bug was that we were deleting checks that we shouldn't have deleted.
This patch makes a helper inside strength reduction that converts to
a LazyJSConstant while maintaining checks, and switches users of the
node API inside strength reduction to instead call the helper function.
This patch also fixes a potential bug where StringReplace and
StringReplaceRegExp may not preserve all their checks.
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
(JSC::DFG::StrengthReductionPhase::convertToLazyJSValue):
- 7:22 PM Changeset in webkit [231192] by
-
- 2 edits in trunk/Source/WebKit
Use correct runloop type in the WebContent process.
https://bugs.webkit.org/show_bug.cgi?id=185140
<rdar://problem/39585037>
Reviewed by Brent Fulgham.
The macOS target version should be used to determine the runloop type.
- Configurations/WebContentService.xcconfig:
- 6:31 PM Changeset in webkit [231191] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening
Update test expectations since the crash reported on Bug 177828 is no longer reproducible.
- platform/mac-wk2/TestExpectations:
- 6:19 PM Changeset in webkit [231190] by
-
- 3 edits1 delete in trunk/Source/WebKit
Eliminate WebProcessShim.dylib
https://bugs.webkit.org/show_bug.cgi?id=185147
Reviewed by Ryosuke Niwa.
- Configurations/WebContentService.xcconfig:
- Configurations/WebProcessShim.xcconfig: Removed.
- WebKit.xcodeproj/project.pbxproj:
- 5:42 PM Changeset in webkit [231189] by
-
- 2 edits2 deletes in trunk/Source/WebKit
Remove unused mac/CookieStorageShimLibrary
https://bugs.webkit.org/show_bug.cgi?id=185146
Reviewed by Alex Christensen.
- Shared/mac/CookieStorageShimLibrary.cpp: Removed.
- Shared/mac/CookieStorageShimLibrary.h: Removed.
- WebKit.xcodeproj/project.pbxproj:
- 5:35 PM Changeset in webkit [231188] by
-
- 3 edits14 adds in trunk/LayoutTests
Add tests for selection in content editable
https://bugs.webkit.org/show_bug.cgi?id=185144
Reviewed by Wenson Hsieh.
Tests that should cover selection in content editable, both with and without a keyboard present. Also fixing two tests that had errors.
- fast/events/touch/ios/double-tap-on-editable-content-for-selection-then-drag-down-to-change-selected-text-expected.txt: Added.
- fast/events/touch/ios/double-tap-on-editable-content-for-selection-then-drag-down-to-change-selected-text.html: Added.
- fast/events/touch/ios/double-tap-on-editable-content-for-selection-then-drag-left-to-change-selected-text-expected.txt: Added.
- fast/events/touch/ios/double-tap-on-editable-content-for-selection-then-drag-left-to-change-selected-text.html: Added.
- fast/events/touch/ios/double-tap-on-editable-content-for-selection-then-drag-up-to-change-selected-text-expected.txt: Added.
- fast/events/touch/ios/double-tap-on-editable-content-for-selection-then-drag-up-to-change-selected-text.html: Added.
- fast/events/touch/ios/long-press-on-editable-content-then-drag-down-to-change-selected-text-expected.txt: Added.
- fast/events/touch/ios/long-press-on-editable-content-then-drag-down-to-change-selected-text.html: Added.
- fast/events/touch/ios/long-press-on-editable-content-then-drag-left-to-change-selected-text-expected.txt: Added.
- fast/events/touch/ios/long-press-on-editable-content-then-drag-left-to-change-selected-text.html: Added.
- fast/events/touch/ios/long-press-on-editable-content-then-drag-right-to-change-selected-text-expected.txt: Added.
- fast/events/touch/ios/long-press-on-editable-content-then-drag-right-to-change-selected-text.html: Added.
- fast/events/touch/ios/long-press-on-editable-content-then-drag-up-to-change-selected-text-expected.txt: Added.
- fast/events/touch/ios/long-press-on-editable-content-then-drag-up-to-change-selected-text.html: Added.
- fast/events/touch/ios/long-press-then-drag-right-to-change-selected-text.html:
- fast/events/touch/ios/long-press-then-drag-up-to-change-selected-text.html:
- 5:23 PM Changeset in webkit [231187] by
-
- 3 edits1 add in trunk
Improve the performance of FontCascadeDescription's effectiveFamilies
https://bugs.webkit.org/show_bug.cgi?id=184720
PerformanceTests:
Reviewed by Simon Fraser.
This performance test calls SystemFontDatabase::systemFontCascadeList() around 2,000,000 times (before
this patch is applied), which is roughly equivalent to the page we found the performance problem on.
The calling pattern is roughly equivalent in this test.
- Layout/system-ui.html: Added.
Source/WebCore:
<rdar://problem/38970927>
Reviewed by Simon Fraser.
The page that had the performance problem renders many different Chinese characters in system-ui
with only a small number of individual fonts. It turns out we were calling into the system-ui
machinery for each character in order to opportunistically start loading data URLs (see also:
https://bugs.webkit.org/show_bug.cgi?id=175845). These data URLS will never represent the system
font, so we don't need to invoke the system-ui machinery at all.
This patch makes a 92x performance improvement on the associated performance test. This test is
designed to test Chinese text rendered with system-ui.
Performance test: Layout/system-ui.html
- platform/graphics/FontCascadeFonts.cpp:
(WebCore::opportunisticallyStartFontDataURLLoading):
- 5:06 PM Changeset in webkit [231186] by
-
- 7 edits in tags/Safari-606.1.15.2/Source
Versioning.
- 5:04 PM Changeset in webkit [231185] by
-
- 3 edits1 add in trunk
LICM shouldn't hoist nodes if hoisted nodes exited in that code block
https://bugs.webkit.org/show_bug.cgi?id=185126
Reviewed by Saam Barati.
JSTests:
I found this bug by accident when I was writing this test for something else.
This change also speeds up other benchmarks of this case that we already had. They are all called
the licm-dragons tests.
- microbenchmarks/licm-dragons-two-structures.js: Added.
(foo):
Source/JavaScriptCore:
This change is just restoring functionality that we've already had for a while. It had been
accidentally broken due to an unrelated CodeBlock refactoring.
- dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::attemptHoist):
- 5:03 PM Changeset in webkit [231184] by
-
- 7 edits in branches/safari-605-branch/Source
Versioning.
- 4:56 PM Changeset in webkit [231183] by
-
- 5 edits in trunk/Websites/perf.webkit.org
Creating a custom analysis task after fetching all analysis tasks fail
https://bugs.webkit.org/show_bug.cgi?id=184641
Reviewed by Saam Barati.
The bug was caused by AnalysisTask._fetchSubset not fetching the analysis task when all analysis tasks
had previously been fetched (AnlaysisTask._fetchAllPromise is set) even when noCache is set to true.
Fixed it by ignornig _fetchAllPromise when noCache is set to true.
This patch also adds noCache argument to AnalysisTask.fetchById and reverts the inadvertent change in
r226836 to always set noCache to true in this function.
- public/v3/models/analysis-task.js:
(AnalysisTask.fetchById): Added noCache argument instead of always specifying true, and modernized the code.
(AnalysisTask._fetchSubset): Fixed the bug. See above description.
- public/v3/models/test-group.js:
(TestGroup.createWithTask): Set noCache to true when calling AnalysisTask.fetchById here.
- unit-tests/analysis-task-tests.js: Added test cases for AnalysisTask.fetchById, including a test
to make sure it doesn't fetch the specified analysis task when noCache is set to false and all analysis
tasks had previously been fetched for the aforementioned revert of the inadvertent change in r226836.
(sampleAnalysisTasks): Renamed from sampleAnalysisTasks as the result contains multiple analysis tasks.
- unit-tests/test-groups-tests.js: Added a test case for TestGroup.createWithTask
- 4:55 PM Changeset in webkit [231182] by
-
- 1 copy in tags/Safari-605.2.7
Tag Safari-605.2.7.
- 4:51 PM Changeset in webkit [231181] by
-
- 1 copy in tags/Safari-606.1.15.2
New tag.
- 4:43 PM Changeset in webkit [231180] by
-
- 10 edits in trunk/Websites/perf.webkit.org
REGRESSION(r230960): Browser tests under TimeSeriesChart fetchMeasurementSets all fail
https://bugs.webkit.org/show_bug.cgi?id=185125
Reviewed by Saam Barati.
The bug was caused by mock-remote-api.js always loading PrivilegedAPI using require, which doesn't work in a browser.
Fixed the bug by explicitly requiring the right kind of PrivilegedAPI in each unit test instead.
- unit-tests/analysis-task-tests.js:
- unit-tests/buildbot-syncer-tests.js:
- unit-tests/commit-log-tests.js:
- unit-tests/commit-set-range-bisector-tests.js:
- unit-tests/commit-set-tests.js:
- unit-tests/measurement-set-tests.js:
- unit-tests/privileged-api-tests.js:
- unit-tests/resources/mock-remote-api.js:
(MockRemoteAPI.inject): Take PrivilegedAPI instead of the type string. Also fixed a bug that _token wasn't unset
after each unit test, and superfluous initializations of originalRemoteAPI and originalPrivilegedAPI.
- unit-tests/test-groups-tests.js:
- 4:42 PM Changeset in webkit [231179] by
-
- 4 edits in trunk
<img src=mp4> does not display on ios despite Accept: video/* advertisement
https://bugs.webkit.org/show_bug.cgi?id=185029
<rdar://problem/39771989>
Reviewed by Eric Carlson.
Source/WebCore:
Returning "NO" from resourceLoader:shouldWaitForLoadingOfResource: signals that the load failed,
even if the resource request is successfully fulfilled prior to the return. Always return YES in
the case that loading succeeded.
- platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
LayoutTests:
- platform/ios/TestExpectations:
- 4:16 PM Changeset in webkit [231178] by
-
- 3 edits2 adds in trunk
REGRESSION(r230914) Selecting text on this apple.com page makes it vanish
https://bugs.webkit.org/show_bug.cgi?id=185142
<rdar://problem/39821446>
Reviewed by Simon Fraser.
Source/WebCore:
Set the overflow rect on the inline textbox when needed.
Test: fast/text/simple-line-layout-selection-with-overflow.html
- rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::initializeInlineTextBox):
(WebCore::SimpleLineLayout::generateLineBoxTree):
(WebCore::SimpleLineLayout::initializeInlineBox): Deleted.
LayoutTests:
- fast/text/simple-line-layout-selection-with-overflow-expected.html: Added.
- fast/text/simple-line-layout-selection-with-overflow.html: Added.
- 3:35 PM Changeset in webkit [231177] by
-
- 49 edits38 adds in tags/Safari-606.1.15.0.1
Cherry-pick r231082. rdar://problem/39664967
Implement rendering support for the color-filter CSS property
https://bugs.webkit.org/show_bug.cgi?id=185047
rdar://problem/39664967
Reviewed by Tim Horton.
Source/WebCore:
The color-filter property transforms CSS colors just before painting. To support this,
add to RenderStyle colorByApplyingColorFilter() and visitedDependentColorWithColorFilter().
At most calls sites that transform colors for rendering, replace calls to
visitedDependentColor() with visitedDependentColorWithColorFilter(). The few locations
that don't use visitedDependentColor() (e.g. for shadows) call colorByApplyingColorFilter().
Color transformation is implemented via a new virtual function on FilterOperation;
BasicColorMatrixFilterOperation overrides this to use a new ColorMatrix class to
do color math, and BasicComponentTransferFilterOperation to do the equivalent of component
transfer operations. The math in both cases matches that for SVG filters, with the exception
that color components are stored as floats through multiple filters and then mapped to
normal 0-255 color components at the end.
Tests: css3/color-filters/color-filter-backgrounds-borders.html
css3/color-filters/color-filter-box-shadow.html
css3/color-filters/color-filter-brightness.html
css3/color-filters/color-filter-color-property-list-item.html
css3/color-filters/color-filter-color-property.html
css3/color-filters/color-filter-color-text-decorations.html
css3/color-filters/color-filter-column-rule.html
css3/color-filters/color-filter-contrast.html
css3/color-filters/color-filter-current-color.html
css3/color-filters/color-filter-filter-list.html
css3/color-filters/color-filter-grayscale.html
css3/color-filters/color-filter-hue-rotate.html
css3/color-filters/color-filter-inherits.html
css3/color-filters/color-filter-invert.html
css3/color-filters/color-filter-opacity.html
css3/color-filters/color-filter-outline.html
css3/color-filters/color-filter-saturate.html
css3/color-filters/color-filter-sepia.html
css3/color-filters/color-filter-text-emphasis.html
- html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::adjustInnerTextStyle const):
- page/FrameView.cpp: (WebCore::FrameView::documentBackgroundColor const):
- platform/graphics/ColorUtilities.cpp: (WebCore::ColorMatrix::ColorMatrix): (WebCore::ColorMatrix::makeIdentity): (WebCore::ColorMatrix::grayscaleMatrix): (WebCore::ColorMatrix::saturationMatrix): (WebCore::ColorMatrix::hueRotateMatrix): (WebCore::ColorMatrix::sepiaMatrix): (WebCore::ColorMatrix::transformColorComponents const):
- platform/graphics/ColorUtilities.h:
- platform/graphics/filters/FilterOperation.cpp: (WebCore::BasicColorMatrixFilterOperation::transformColor const): (WebCore::BasicComponentTransferFilterOperation::transformColor const):
- platform/graphics/filters/FilterOperation.h: (WebCore::FilterOperation::transformColor const):
- platform/graphics/filters/FilterOperations.cpp: (WebCore::FilterOperations::transformColor const):
- platform/graphics/filters/FilterOperations.h:
- rendering/BorderEdge.cpp: (WebCore::BorderEdge::getBorderEdgeInfo):
- rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::paint): (WebCore::EllipsisBox::paintSelection):
- rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintBoxDecorations):
- rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintMarkedTextForeground): (WebCore::InlineTextBox::paintMarkedTextDecoration): (WebCore::InlineTextBox::paintCompositionUnderline const):
- rendering/RenderBox.cpp: (WebCore::RenderBox::paintRootBoxFillLayers): (WebCore::RenderBox::paintBackground): (WebCore::RenderBox::getBackgroundPaintedExtent const): (WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect const): (WebCore::RenderBox::backgroundHasOpaqueTopLayer const):
- rendering/RenderBoxModelObject.cpp: (WebCore::applyBoxShadowForBackground): (WebCore::RenderBoxModelObject::paintFillLayerExtended): (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground const): (WebCore::RenderBoxModelObject::paintBoxShadow):
- rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::paint):
- rendering/RenderElement.cpp: (WebCore::RenderElement::selectionColor const): (WebCore::RenderElement::selectionBackgroundColor const): (WebCore::RenderElement::paintFocusRing): (WebCore::RenderElement::paintOutline):
- rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject):
- rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::paintColumnBorder): (WebCore::RenderFrameSet::paintRowBorder):
- rendering/RenderImage.cpp: (WebCore::RenderImage::paintReplaced): (WebCore::RenderImage::paintAreaElementFocusRing):
- rendering/RenderInline.cpp: (WebCore::RenderInline::paintOutline):
- rendering/RenderLayerBacking.cpp: (WebCore::canDirectlyCompositeBackgroundBackgroundImage): (WebCore::RenderLayerBacking::rendererBackgroundColor const):
- rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::rootOrBodyStyleChanged):
- rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintItemForeground): (WebCore::RenderListBox::paintItemBackground):
- rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint):
- rendering/RenderMenuList.cpp: (RenderMenuList::itemStyle const): (RenderMenuList::getItemBackgroundColor const): (RenderMenuList::menuStyle const):
- rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::paintColumnRules):
- rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::menuStyle const):
- rendering/RenderTable.h: (WebCore::RenderTable::bgColor const):
- rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::computeCollapsedStartBorder const): (WebCore::RenderTableCell::computeCollapsedEndBorder const): (WebCore::RenderTableCell::computeCollapsedBeforeBorder const): (WebCore::RenderTableCell::computeCollapsedAfterBorder const): (WebCore::RenderTableCell::paintBackgroundsBehindCell):
- rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::paintRowGroupBorder):
- rendering/RenderTheme.cpp: (WebCore::RenderTheme::paintSliderTicks):
- rendering/TextDecorationPainter.cpp: (WebCore::decorationColor):
- rendering/TextPaintStyle.cpp: (WebCore::computeTextPaintStyle):
- rendering/mathml/MathOperator.cpp: (WebCore::MathOperator::paint):
- rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::paint):
- rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::paint):
- rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::paint):
- rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::paint):
- rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::visitedDependentColorWithColorFilter const): (WebCore::RenderStyle::colorByApplyingColorFilter const):
- rendering/style/RenderStyle.h:
Source/WebKitLegacy/mac:
The body background should reflect the filtered color.
- WebView/WebFrame.mm: (-[WebFrame _bodyBackgroundColor]):
- WebView/WebView.mm: (-[WebView updateTextTouchBar]): No logic change, just cleanup.
LayoutTests:
Tests for color-filter rendering.
- css3/color-filters/color-filter-backgrounds-borders-expected.html: Added.
- css3/color-filters/color-filter-backgrounds-borders.html: Added.
- css3/color-filters/color-filter-box-shadow-expected.html: Added.
- css3/color-filters/color-filter-box-shadow.html: Added.
- css3/color-filters/color-filter-brightness-expected.html: Added.
- css3/color-filters/color-filter-brightness.html: Added.
- css3/color-filters/color-filter-color-property-expected.html: Added.
- css3/color-filters/color-filter-color-property-list-item-expected.html: Added.
- css3/color-filters/color-filter-color-property-list-item.html: Added.
- css3/color-filters/color-filter-color-property.html: Added.
- css3/color-filters/color-filter-color-text-decorations-expected.html: Added.
- css3/color-filters/color-filter-color-text-decorations.html: Added.
- css3/color-filters/color-filter-column-rule-expected.html: Added.
- css3/color-filters/color-filter-column-rule.html: Added.
- css3/color-filters/color-filter-contrast-expected.html: Added.
- css3/color-filters/color-filter-contrast.html: Added.
- css3/color-filters/color-filter-current-color-expected.html: Added.
- css3/color-filters/color-filter-current-color.html: Added.
- css3/color-filters/color-filter-filter-list-expected.html: Added.
- css3/color-filters/color-filter-filter-list.html: Added.
- css3/color-filters/color-filter-grayscale-expected.html: Added.
- css3/color-filters/color-filter-grayscale.html: Added.
- css3/color-filters/color-filter-hue-rotate-expected.html: Added.
- css3/color-filters/color-filter-hue-rotate.html: Added.
- css3/color-filters/color-filter-inherits-expected.html: Added.
- css3/color-filters/color-filter-inherits.html: Added.
- css3/color-filters/color-filter-invert-expected.html: Added.
- css3/color-filters/color-filter-invert.html: Added.
- css3/color-filters/color-filter-opacity-expected.html: Added.
- css3/color-filters/color-filter-opacity.html: Added.
- css3/color-filters/color-filter-outline-expected.html: Added.
- css3/color-filters/color-filter-outline.html: Added.
- css3/color-filters/color-filter-saturate-expected.html: Added.
- css3/color-filters/color-filter-saturate.html: Added.
- css3/color-filters/color-filter-sepia-expected.html: Added.
- css3/color-filters/color-filter-sepia.html: Added.
- css3/color-filters/color-filter-text-emphasis-expected.html: Added.
- css3/color-filters/color-filter-text-emphasis.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:35 PM Changeset in webkit [231176] by
-
- 3 edits3 adds in tags/Safari-606.1.15.0.1
Cherry-pick r231124. rdar://problem/39809478
Implement color-filter for text stroke
https://bugs.webkit.org/show_bug.cgi?id=185098
Reviewed by Alan Bujtas.
Source/WebCore:
Transform the text stroke color through color-filter.
Test: css3/color-filters/color-filter-text-stroke.html
- rendering/TextPaintStyle.cpp: (WebCore::computeTextPaintStyle):
LayoutTests:
- css3/color-filters/color-filter-text-stroke-expected.html: Added.
- css3/color-filters/color-filter-text-stroke.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:29 PM Changeset in webkit [231175] by
-
- 23 edits1 add in trunk
Apply PtrTags to the MetaAllocator and friends.
https://bugs.webkit.org/show_bug.cgi?id=185110
<rdar://problem/39533895>
Reviewed by Saam Barati.
Source/JavaScriptCore:
- LinkBuffer now takes a MacroAssemblerCodePtr instead of a void* pointer.
- Apply pointer tagging to the boundary pointers of the FixedExecutableMemoryPool, and add a sanity check to verify that allocated code buffers are within those bounds.
- assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::finalizeCodeWithoutDisassemblyImpl):
(JSC::LinkBuffer::copyCompactAndLinkCode):
(JSC::LinkBuffer::linkCode):
(JSC::LinkBuffer::allocate):
- assembler/LinkBuffer.h:
(JSC::LinkBuffer::LinkBuffer):
(JSC::LinkBuffer::debugAddress):
(JSC::LinkBuffer::code):
- assembler/MacroAssemblerCodeRef.h:
(JSC::MacroAssemblerCodeRef::MacroAssemblerCodeRef):
- bytecode/InlineAccess.cpp:
(JSC::linkCodeInline):
(JSC::InlineAccess::rewireStubAsJump):
- dfg/DFGJITCode.cpp:
(JSC::DFG::JITCode::findPC):
- ftl/FTLJITCode.cpp:
(JSC::FTL::JITCode::findPC):
- jit/ExecutableAllocator.cpp:
(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator):
(JSC::FixedVMPoolExecutableAllocator::jitWriteThunkGenerator):
(JSC::ExecutableAllocator::allocate):
- jit/ExecutableAllocator.h:
(JSC::isJITPC):
(JSC::performJITMemcpy):
- jit/JIT.cpp:
(JSC::JIT::link):
- jit/JITMathIC.h:
(JSC::isProfileEmpty):
- runtime/JSCPtrTag.h:
- wasm/WasmCallee.cpp:
(JSC::Wasm::Callee::Callee):
- wasm/WasmFaultSignalHandler.cpp:
(JSC::Wasm::trapHandler):
Source/WTF:
- Introduce a MetaAllocatorPtr smart pointer to do pointer tagging.
- Use MetaAllocatorPtr in MetaAllocator and MetaAllocatorHandle.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/MetaAllocator.cpp:
(WTF::MetaAllocator::release):
(WTF::MetaAllocatorHandle::MetaAllocatorHandle):
(WTF::MetaAllocatorHandle::shrink):
(WTF::MetaAllocatorHandle::dump const):
(WTF::MetaAllocator::allocate):
(WTF::MetaAllocator::findAndRemoveFreeSpace):
(WTF::MetaAllocator::addFreeSpaceFromReleasedHandle):
(WTF::MetaAllocator::addFreshFreeSpace):
(WTF::MetaAllocator::debugFreeSpaceSize):
(WTF::MetaAllocator::addFreeSpace):
(WTF::MetaAllocator::allocFreeSpaceNode):
- wtf/MetaAllocator.h:
(WTF::MetaAllocatorTracker::find):
(WTF::MetaAllocator::FreeSpaceNode::FreeSpaceNode):
(WTF::MetaAllocator::FreeSpaceNode::sizeInBytes):
(WTF::MetaAllocator::FreeSpaceNode::key):
- wtf/MetaAllocatorHandle.h:
(WTF::MetaAllocatorHandle::start const):
(WTF::MetaAllocatorHandle::end const):
(WTF::MetaAllocatorHandle::startAsInteger const):
(WTF::MetaAllocatorHandle::endAsInteger const):
(WTF::MetaAllocatorHandle::sizeInBytes const):
(WTF::MetaAllocatorHandle::containsIntegerAddress const):
(WTF::MetaAllocatorHandle::key):
- wtf/MetaAllocatorPtr.h: Added.
(WTF::MetaAllocatorPtr::MetaAllocatorPtr):
(WTF::MetaAllocatorPtr:: const):
(WTF::MetaAllocatorPtr::operator bool const):
(WTF::MetaAllocatorPtr::operator! const):
(WTF::MetaAllocatorPtr::operator== const):
(WTF::MetaAllocatorPtr::operator!= const):
(WTF::MetaAllocatorPtr::operator+ const):
(WTF::MetaAllocatorPtr::operator- const):
(WTF::MetaAllocatorPtr::operator+=):
(WTF::MetaAllocatorPtr::operator-=):
(WTF::MetaAllocatorPtr::isEmptyValue const):
(WTF::MetaAllocatorPtr::isDeletedValue const):
(WTF::MetaAllocatorPtr::hash const):
(WTF::MetaAllocatorPtr::emptyValue):
(WTF::MetaAllocatorPtr::deletedValue):
(WTF::MetaAllocatorPtrHash::hash):
(WTF::MetaAllocatorPtrHash::equal):
- wtf/PtrTag.h:
Tools:
Update the test to match MetaAllocator changes in WTF.
- TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
(TestWebKitAPI::TEST_F):
(WTF::tagForPtr):
(WTF::ptrTagName):
- 3:21 PM Changeset in webkit [231174] by
-
- 8 edits in trunk
Add WKUIDelegatePrivate equivalent of WKPageContextMenuClient getContextMenuFromProposedMenuAsync
https://bugs.webkit.org/show_bug.cgi?id=180955
Patch by Alex Christensen <achristensen@webkit.org> on 2018-04-30
Reviewed by Andy Estes.
Source/WebKit:
- UIProcess/API/APIContextMenuClient.h:
(API::ContextMenuClient::menuFromProposedMenu):
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::showContextMenuWithItems):
Tools:
- TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm:
(-[ContextMenuImgWithVideoDelegate _webView:contextMenu:forElement:]):
(-[ContextMenuImgWithVideoDelegate _webView:getContextMenuFromProposedMenu:forElement:userInfo:completionHandler:]):
- 3:17 PM Changeset in webkit [231173] by
-
- 7 edits in tags/Safari-606.1.15.0.1/Source
Versioning.
- 3:13 PM Changeset in webkit [231172] by
-
- 4 edits in trunk/Source/JavaScriptCore
Move the MayBePrototype JSCell header bit to InlineTypeFlags
https://bugs.webkit.org/show_bug.cgi?id=185143
Reviewed by Mark Lam.
- runtime/IndexingType.h:
- runtime/JSCellInlines.h:
(JSC::JSCell::setStructure):
(JSC::JSCell::mayBePrototype const):
(JSC::JSCell::didBecomePrototype):
- runtime/JSTypeInfo.h:
(JSC::TypeInfo::mayBePrototype):
(JSC::TypeInfo::mergeInlineTypeFlags):
- 2:38 PM Changeset in webkit [231171] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove unneeded exception check from String.fromCharCode
https://bugs.webkit.org/show_bug.cgi?id=185083
Reviewed by Mark Lam.
- runtime/StringConstructor.cpp:
(JSC::stringFromCharCode):
- 2:17 PM Changeset in webkit [231170] by
-
- 19 edits in trunk
Use some C++17 features
https://bugs.webkit.org/show_bug.cgi?id=185135
Reviewed by Alex Christensen.
.:
As discussed here [0] let's move WebKit to a subset of C++17. We
now require GCC 6 [1] which means that, according to [2] we can
use the following C++17 language features (I removed some
uninteresting ones):
- New auto rules for direct-list-initialization
- static_assert with no message
- typename in a template template parameter
- Nested namespace definition
- Attributes for namespaces and enumerators
- u8 character literals
- Allow constant evaluation for all non-type template arguments
- Fold Expressions
- Unary fold expressions and empty parameter packs
- has_include in preprocessor conditional
- Differing begin and end types in range-based for
- Improving std::pair and std::tuple
Consult the Tony Tables [3] to see before / after examples.
Of course we can use any library feature if we're willing to
import them to WTF (and they don't require language support).
[0]: https://lists.webkit.org/pipermail/webkit-dev/2018-March/029922.html
[1]: https://trac.webkit.org/changeset/231152/webkit
[2]: https://en.cppreference.com/w/cpp/compiler_support
[3]: https://github.com/tvaneerd/cpp17_in_TTs/blob/master/ALL_IN_ONE.md
- Source/cmake/WebKitCompilerFlags.cmake:
Source/WebCore:
As discussed here [0] let's move WebKit to a subset of C++17. We
now require GCC 6 [1] which means that, according to [2] we can
use the following C++17 language features (I removed some
uninteresting ones):
- New auto rules for direct-list-initialization
- static_assert with no message
- typename in a template template parameter
- Nested namespace definition
- Attributes for namespaces and enumerators
- u8 character literals
- Allow constant evaluation for all non-type template arguments
- Fold Expressions
- Unary fold expressions and empty parameter packs
- has_include in preprocessor conditional
- Differing begin and end types in range-based for
- Improving std::pair and std::tuple
Consult the Tony Tables [3] to see before / after examples.
Of course we can use any library feature if we're willing to
import them to WTF (and they don't require language support).
[0]: https://lists.webkit.org/pipermail/webkit-dev/2018-March/029922.html
[1]: https://trac.webkit.org/changeset/231152/webkit
[2]: https://en.cppreference.com/w/cpp/compiler_support
[3]: https://github.com/tvaneerd/cpp17_in_TTs/blob/master/ALL_IN_ONE.md
- DerivedSources.make:
- platform/URLParser.cpp: work around an odd GCC 6 bug with class static value as a template parameter.
(WebCore::URLParser::percentDecode):
(WebCore::URLParser::domainToASCII):
(WebCore::URLParser::hasForbiddenHostCodePoint):
(WebCore::URLParser::parseHostAndPort):
- platform/URLParser.h:
Source/WebKit:
As discussed here [0] let's move WebKit to a subset of C++17. We
now require GCC 6 [1] which means that, according to [2] we can
use the following C++17 language features (I removed some
uninteresting ones):
- New auto rules for direct-list-initialization
- static_assert with no message
- typename in a template template parameter
- Nested namespace definition
- Attributes for namespaces and enumerators
- u8 character literals
- Allow constant evaluation for all non-type template arguments
- Fold Expressions
- Unary fold expressions and empty parameter packs
- has_include in preprocessor conditional
- Differing begin and end types in range-based for
- Improving std::pair and std::tuple
Consult the Tony Tables [3] to see before / after examples.
Of course we can use any library feature if we're willing to
import them to WTF (and they don't require language support).
[0]: https://lists.webkit.org/pipermail/webkit-dev/2018-March/029922.html
[1]: https://trac.webkit.org/changeset/231152/webkit
[2]: https://en.cppreference.com/w/cpp/compiler_support
[3]: https://github.com/tvaneerd/cpp17_in_TTs/blob/master/ALL_IN_ONE.md
- Configurations/Base.xcconfig:
- DerivedSources.make:
- PlatformMac.cmake:
Source/WebKitLegacy:
- PlatformMac.cmake:
Source/WebKitLegacy/mac:
- Configurations/WebKitLegacy.xcconfig:
Source/WTF:
- wtf/StdLibExtras.h: libstdc++ doesn't say it's C++17 when it
defines std::conjunction. Use the feature test macro instead.
Tools:
- DumpRenderTree/PlatformMac.cmake:
- gtk/ycm_extra_conf.py:
(FlagsForFile):
- 2:06 PM Changeset in webkit [231169] by
-
- 3 edits in trunk/Websites/perf.webkit.org
MeasurementSet._constructUrl should construct absolute url.
https://bugs.webkit.org/show_bug.cgi?id=185137
Reviewed by Ryosuke Niwa.
MeasurementSet._constructUrl should not construct an url with relative path.
- public/v3/models/measurement-set.js: Should use '/api/measurement-set...' and '/data/measurement-set-...'
for uncached and cached fetching.
- unit-tests/measurement-set-tests.js: Updated unit tests.
(const.set MeasurementSet):
- 1:56 PM Changeset in webkit [231168] by
-
- 10 edits in trunk
[Extra zoom mode] Respect the existing shrink-to-fit attribute instead of using min-device-width
https://bugs.webkit.org/show_bug.cgi?id=185132
<rdar://problem/39834562>
Reviewed by Tim Horton.
Source/WebCore:
Removes the
min-device-width
attribute added in r231095. Instead, we key this behavior off of the
shrink-to-fit
attribute introduced for multitasking on iPad, such thatshrink-to-fit=no
achieves the same
behavior asmin-device-width=0
in extra zoom mode. See comments below for more detail.
Adjusted an existing layout test: fast/viewport/extrazoom/viewport-change-min-device-width.html.
- dom/ViewportArguments.cpp:
(WebCore::setViewportFeature):
(WebCore::operator<<):
- dom/ViewportArguments.h:
Removes the
minDeviceWidth
viewport argument.
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setMinDeviceWidthEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::minDeviceWidthEnabled const): Deleted.
Removes the runtime switch for
min-device-width
.
- page/ViewportConfiguration.cpp:
(WebCore::platformDeviceWidthOverride):
Hard-code the override device width in extra zoom mode.
(WebCore::ViewportConfiguration::shouldOverrideDeviceWidthAndShrinkToFit const):
In extra zoom mode, override the device width only if shrink-to-fit has not been expliticly disabled, and the
device width is less than the override device width.
(WebCore::ViewportConfiguration::shouldIgnoreHorizontalScalingConstraints const):
(WebCore::ViewportConfiguration::shouldIgnoreScalingConstraintsRegardlessOfContentSize const):
(WebCore::ViewportConfiguration::updateConfiguration):
(WebCore::ViewportConfiguration::updateMinimumLayoutSize):
Do not override the minimum layout size if
shrink-to-fit
has been explicitly explicitly disabled, or if the
device width is greater than the override device width.
(WebCore::computedMinDeviceWidth): Deleted.
(WebCore::ViewportConfiguration::shouldOverrideDeviceWidthWithMinDeviceWidth const): Deleted.
- page/ViewportConfiguration.h:
Source/WebKit:
Remove the experimental feature for
min-device-width
.
- Shared/WebPreferences.yaml:
LayoutTests:
Modifies an existing layout test to try out different values of
shrink-to-fit
instead of using the
min-device-width
attribute. This test now begins with the default viewport configuration, then explicitly
disablesshrink-to-fit
by setting the attribute to a few different values (which should all achieve the same
effect), and lastly explicitly re-enablesshrink-to-fit
by setting the attribute value to several values that
should behave the same asshrink-to-fit=yes
.
- fast/viewport/extrazoom/viewport-change-min-device-width.html:
- 1:28 PM Changeset in webkit [231167] by
-
- 2 edits1 add in trunk/Source/ThirdParty/libwebrtc
Mandate H264 hardware encoder for Mac in libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=184835
Reviewed by Eric Carlson.
Tested manually through console traces that hardware VCP encoder code path is actually used instead of software VCP encoder code path.
- Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
- WebKit/0001-Update-RTCVideoEncoderH264.mm-for-WebKit.patch: Added to cover this change and changes made in bug 184668 and 183961.
- 1:22 PM Changeset in webkit [231166] by
-
- 6 edits in trunk/Source/JavaScriptCore
Move StructureIsImmortal to out of line flags.
https://bugs.webkit.org/show_bug.cgi?id=185101
Reviewed by Saam Barati.
This will free up a bit in the inline flags where we can move the
isPrototype bit to. This will, in turn, free a bit for use in
implementing copy on write butterflies.
Also, this patch removes an assertion from Structure::typeInfo()
that inadvertently makes the function invalid to call while
cleaning up the vm.
- heap/HeapCellType.cpp:
(JSC::DefaultDestroyFunc::operator() const):
- runtime/JSCell.h:
- runtime/JSCellInlines.h:
(JSC::JSCell::callDestructor): Deleted.
- runtime/JSTypeInfo.h:
(JSC::TypeInfo::hasStaticPropertyTable):
(JSC::TypeInfo::structureIsImmortal const):
- runtime/Structure.h:
- 12:56 PM Changeset in webkit [231165] by
-
- 5 edits in trunk
Serialize font-variation-settings with double-quotes per spec
https://bugs.webkit.org/show_bug.cgi?id=182542
Patch by Chris Nardi <cnardi@chromium.org> on 2018-04-30
Reviewed by Myles C. Maxfield.
Source/WebCore:
According to the CSSOM spec [1], all strings should be serialized with double-quotes.
The axis name in font-variation-settings was previously serialized with single-quotes;
change this to double-quotes to match the spec and non-WebKit browsers.
[1]: https://drafts.csswg.org/cssom/#common-serializing-idioms
Updated fast/text/variations/getComputedStyle.html to test the change.
- css/CSSFontVariationValue.cpp:
(WebCore::CSSFontVariationValue::customCSSText const):
LayoutTests:
Updated test to verify double-quotes are used.
- fast/text/variations/getComputedStyle-expected.txt:
- fast/text/variations/getComputedStyle.html:
- 12:41 PM Changeset in webkit [231164] by
-
- 1 copy in tags/Safari-606.1.15.0.1
New tag.
- 12:31 PM Changeset in webkit [231163] by
-
- 8 edits in trunk/Source/WebKit
Include breadcrumb for tracking resource loading into CFNetwork
https://bugs.webkit.org/show_bug.cgi?id=184837
rdar://problem/39575411
Reviewed by Brent Fulgham.
When starting the network-based loading of a resource, log the
description provided by NetworkDataTask. On Cocoa, this is implemented
to return the description property in NSURLSessionTask. This
information better allows us to track a resource load through the
WebContent process, the Networking process, and the Cocoa networking
layers.
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::description const):
- NetworkProcess/NetworkDataTask.h:
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::description const):
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::description const):
- 12:14 PM Changeset in webkit [231162] by
-
- 2 edits in branches/safari-605-branch/Source/WebKit
Cherry-pick r230903. rdar://problem/39766220
Web Inspector: WebInspectorProxy releases WKWebInspectorProxyObjCAdapter without removing corresponding observer
https://bugs.webkit.org/show_bug.cgi?id=184865
<rdar://problem/37764960>
Reviewed by Brian Burg.
Replace the early return removed in https://bugs.webkit.org/show_bug.cgi?id=177661,
so that WKWebInspectorProxyObjCAdapter and the view controller can be reused
when reopening the Inspector while the WebView is still alive.
- UIProcess/mac/WebInspectorProxyMac.mm: (WebKit::WebInspectorProxy::platformCreateFrontendPage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230903 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:13 PM Changeset in webkit [231161] by
-
- 2 edits in trunk/Source/WebCore
Fix bad use of RunLoop::main().dispatch() in MessagePort::dispatchMessages()
https://bugs.webkit.org/show_bug.cgi?id=185134
Reviewed by Geoffrey Garen.
Fix bad use of RunLoop::main().dispatch() in MessagePort::dispatchMessages(). This code runs on iOS WebKitLegacy
and it is therefore unsafe to use RunLoop::main() here. We want to use callOnMainThread() instead to run code on
the WebThread.
- dom/MessagePort.cpp:
(WebCore::MessagePort::dispatchMessages):
- 11:02 AM Changeset in webkit [231160] by
-
- 6 edits in trunk/Source/JavaScriptCore
[JSC] Remove arity fixup check if the number of parameters is 1
https://bugs.webkit.org/show_bug.cgi?id=183984
Reviewed by Mark Lam.
If the number of parameters is one (|this|), we never hit arity fixup check.
We do not need to emit arity fixup check code.
- dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileFunction):
- dfg/DFGJITCompiler.h:
- ftl/FTLLink.cpp:
(JSC::FTL::link):
- jit/JIT.cpp:
(JSC::JIT::compileWithoutLinking):
- 10:51 AM Changeset in webkit [231159] by
-
- 4 edits2 adds in trunk
Make color-filter affect caret-color
https://bugs.webkit.org/show_bug.cgi?id=185129
rdar://problem/39829066
Reviewed by Tim Horton.
Source/WebCore:
Transform the colors used to compare the caret color with the background through
color-filter (since we want contrasting colors after filters are applied), and
transform caret-color itself.
Test: css3/color-filters/color-filter-caret-color.html
- editing/FrameSelection.cpp:
(WebCore::CaretBase::paintCaret const):
LayoutTests:
- css3/color-filters/color-filter-caret-color-expected.html: Added.
- css3/color-filters/color-filter-caret-color.html: Added.
- 10:30 AM Changeset in webkit [231158] by
-
- 15 edits in trunk
Use WordLock instead of std::mutex for Threading
https://bugs.webkit.org/show_bug.cgi?id=185121
Reviewed by Geoffrey Garen.
Source/bmalloc:
Add constexpr to explicitly describe that bmalloc::Mutex constructor is constexpr.
- bmalloc/Mutex.h:
Source/JavaScriptCore:
ThreadGroup starts using WordLock.
- heap/MachineStackMarker.h:
(JSC::MachineThreads::getLock):
Source/WTF:
Before r231151, WordLock depends on ThreadSpecific. It means that our Threading implementation
cannot use this lock since Threading primitives could touch these locks after ThreadSpecific
for that WordLock is destroyed.
Now WordLock is changed not to use ThreadSpecific. So it does not depend on our Threading
mechanism and our Threading can start using WordLock internally.
This patch changes WTF::Thread and WTF::ThreadGroup to use WordLock instead of std::mutex.
And add constexpr to explicitly describe that Lock, Condition, and WordLock constructors are constexpr.
- wtf/Condition.h:
- wtf/Lock.h:
- wtf/ThreadGroup.h:
(WTF::ThreadGroup::getLock):
- wtf/Threading.cpp:
(WTF::Thread::didExit):
(WTF::Thread::addToThreadGroup):
(WTF::Thread::removeFromThreadGroup):
- wtf/Threading.h:
- wtf/ThreadingPthreads.cpp:
(WTF::Thread::changePriority):
(WTF::Thread::waitForCompletion):
(WTF::Thread::detach):
(WTF::Thread::signal):
(WTF::Thread::establishPlatformSpecificHandle):
- wtf/ThreadingWin.cpp:
(WTF::Thread::changePriority):
(WTF::Thread::waitForCompletion):
(WTF::Thread::detach):
(WTF::Thread::establishPlatformSpecificHandle):
(WTF::Thread::initializeTLSKey):
(WTF::Thread::currentDying):
(WTF::Thread::get):
(WTF::Thread::initializeTLS):
(WTF::Thread::destructTLS):
(WTF::threadMapMutex): Deleted.
- wtf/WordLock.h:
Tools:
- TestWebKitAPI/Tests/WTF/Signals.cpp:
(TEST):
- 9:16 AM Changeset in webkit [231157] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Try to unlock PDF documents before printing them
https://bugs.webkit.org/show_bug.cgi?id=185084
<rdar://problem/39356622>
Reviewed by Dan Bernstein.
- UIProcess/ios/WKPDFView.mm:
(-[WKPDFView pdfHostViewController:documentDidUnlockWithPassword:]):
Stored the password that successfully unlocked the current PDF document.
(-[WKPDFView _wk_printedDocument]):
Used the stored password to unlock the CGPDFDocument we create for printing.
- 8:16 AM Changeset in webkit [231156] by
-
- 4 edits in trunk
[GTK] Webkit should spoof as Safari on a Mac when on Chase.com
https://bugs.webkit.org/show_bug.cgi?id=185103
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Send a fake user agent to chase.com to make it work.
- platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresMacintoshPlatform):
(WebCore::UserAgentQuirks::stringForQuirk): Also, remove this stale comment.
Tools:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
Apr 29, 2018:
- 10:24 PM Changeset in webkit [231155] by
-
- 2 edits in trunk/Source/WebCore
Make color-filter affect <attachment>
https://bugs.webkit.org/show_bug.cgi?id=185122
rdar://problem/39818763
Reviewed by Tim Horton.
Convert the colors used to render <attachment> through color-filter, except
for those parts that render over the icon (like the progress bar).
Not easily testable.
- rendering/RenderThemeMac.mm:
(WebCore::titleTextColorForAttachment):
(WebCore::AttachmentLayout::layOutTitle):
(WebCore::AttachmentLayout::layOutSubtitle):
(WebCore::paintAttachmentIconBackground):
(WebCore::paintAttachmentTitleBackground):
(WebCore::paintAttachmentPlaceholderBorder):
- 4:41 PM Changeset in webkit [231154] by
-
- 3 edits in trunk/Source/JavaScriptCore
B3 should run tail duplication at the bitter end
https://bugs.webkit.org/show_bug.cgi?id=185123
Reviewed by Geoffrey Garen.
Also added an option to disable taildup. This appears to be a 1% AsmBench speed-up. It's neutral
everywhere else.
The goal of this change is to allow us to run path specialization after switch lowering but
before tail duplication.
- b3/B3Generate.cpp:
(JSC::B3::generateToAir):
- runtime/Options.h:
- 10:30 AM Changeset in webkit [231153] by
-
- 13 edits3 adds in trunk
Fix color-filter to apply to SVG colors
https://bugs.webkit.org/show_bug.cgi?id=185113
rdar://problem/39665082
Reviewed by Dean Jackson.
Source/WebCore:
Convert SVG colors through color-filter operations for the places in SVG
that use color, namely fill and stroke, gradients, lighting colors and
drop-shadow.
Test: css3/color-filters/svg/color-filter-inline-svg.html
- rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::applyResource):
- rendering/svg/RenderSVGResourceGradient.h:
- rendering/svg/RenderSVGResourceLinearGradient.cpp:
(WebCore::RenderSVGResourceLinearGradient::buildGradient const):
- rendering/svg/RenderSVGResourceLinearGradient.h:
- rendering/svg/RenderSVGResourceRadialGradient.cpp:
(WebCore::RenderSVGResourceRadialGradient::buildGradient const):
- rendering/svg/RenderSVGResourceRadialGradient.h:
- rendering/svg/RenderSVGResourceSolidColor.cpp:
(WebCore::RenderSVGResourceSolidColor::applyResource):
- svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
(WebCore::SVGFEDiffuseLightingElement::build):
- svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::build):
- svg/SVGFEFloodElement.cpp:
(WebCore::SVGFEFloodElement::build):
- svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
(WebCore::SVGFESpecularLightingElement::build):
LayoutTests:
- css3/color-filters/svg/color-filter-inline-svg-expected.html: Added.
- css3/color-filters/svg/color-filter-inline-svg.html: Added.
- 10:29 AM Changeset in webkit [231152] by
-
- 6 edits in trunk
[CMake] Require GCC 6
https://bugs.webkit.org/show_bug.cgi?id=184985
Reviewed by Alex Christensen.
.:
Require it.
- CMakeLists.txt:
Source/WebCore:
Remove a GCC 5 fallback path. This seems to be the only such fallback path in WebKit.
- platform/graphics/FourCC.h:
(WebCore::FourCC::FourCC):
Source/WTF:
Stop enforcing GCC version in Compiler.h. It's better to do this in the build system. And I
don't like having the same check in two different places.
- wtf/Compiler.h:
- 10:29 AM Changeset in webkit [231151] by
-
- 2 edits in trunk/Source/WTF
WordLock doesn't need per-thread data
https://bugs.webkit.org/show_bug.cgi?id=185119
Reviewed by Yusuke Suzuki.
The stack is per-thread data, so we can stack-allocate our ThreadData.
This eliminates malloc() and high-level WTF threading primitives from
WordLock, making WordLock more portable to non-WTF code, including
bmalloc.
(NOTE: This patch makes the bug fixed in r231148 100% reproducible.)
- wtf/WordLock.cpp:
(WTF::WordLock::lockSlow): Allocate ThreadData on the stack.
- 9:09 AM Changeset in webkit [231150] by
-
- 3 edits in trunk/Source/WebCore
[LFC] Implement Display::Box functions
https://bugs.webkit.org/show_bug.cgi?id=185116
Reviewed by Antti Koivisto.
- layout/displaytree/DisplayBox.cpp:
(WebCore::Display::Box::Box):
(WebCore::Display::Box::~Box):
(WebCore::Display::Box::marginBox const):
(WebCore::Display::Box::borderBox const):
(WebCore::Display::Box::paddingBox const):
(WebCore::Display::Box::contentBox const):
- layout/displaytree/DisplayBox.h:
(WebCore::Display::Box::rect const):
(WebCore::Display::Box::top const):
(WebCore::Display::Box::left const):
(WebCore::Display::Box::bottom const):
(WebCore::Display::Box::right const):
(WebCore::Display::Box::topLeft const):
(WebCore::Display::Box::bottomRight const):
(WebCore::Display::Box::size const):
(WebCore::Display::Box::width const):
(WebCore::Display::Box::height const):
(WebCore::Display::Box::marginTop const):
(WebCore::Display::Box::marginLeft const):
(WebCore::Display::Box::marginBottom const):
(WebCore::Display::Box::marginRight const):
(WebCore::Display::Box::parent const):
(WebCore::Display::Box::nextSibling const):
(WebCore::Display::Box::previousSibling const):
(WebCore::Display::Box::firstChild const):
(WebCore::Display::Box::lastChild const):
(WebCore::Display::Box::setRect):
(WebCore::Display::Box::setTopLeft):
(WebCore::Display::Box::setTop):
(WebCore::Display::Box::setLeft):
(WebCore::Display::Box::setSize):
(WebCore::Display::Box::setWidth):
(WebCore::Display::Box::setHeight):
(WebCore::Display::Box::setMarginTop):
(WebCore::Display::Box::setMarginLeft):
(WebCore::Display::Box::setMarginBottom):
(WebCore::Display::Box::setMarginRight):
(WebCore::Display::Box::setBorderTop):
(WebCore::Display::Box::setBorderLeft):
(WebCore::Display::Box::setBorderBottom):
(WebCore::Display::Box::setBorderRight):
(WebCore::Display::Box::setPaddingTop):
(WebCore::Display::Box::setPaddingLeft):
(WebCore::Display::Box::setPaddingBottom):
(WebCore::Display::Box::setPaddingRight):
(WebCore::Display::Box::setParent):
(WebCore::Display::Box::setNextSibling):
(WebCore::Display::Box::setPreviousSibling):
(WebCore::Display::Box::setFirstChild):
(WebCore::Display::Box::setLastChild):
- 8:32 AM Changeset in webkit [231149] by
-
- 2 edits in trunk/Source/WebCore
Make RestrictedHTTPResponseAccess flag true by default
https://bugs.webkit.org/show_bug.cgi?id=185089
Reviewed by Geoffrey Garen.
- page/RuntimeEnabledFeatures.h:
- 8:23 AM Changeset in webkit [231148] by
-
- 3 edits in trunk/Source/WTF
Fixed a very unlikely race condition in WTF::WordLock
https://bugs.webkit.org/show_bug.cgi?id=185117
Reviewed by Saam Barati.
The race goes like this:
Thread L is in lockSlowCase() and thread U is in unlockSlowCase();
- U acquires queueHead->parkingLock.
- U sets queueHead->shouldPark = false
- U releases queueHead->parkingLock.
- L spuriously wakes up from queueHead->parkingLock.wait()
- L acquires queueHead->parkingLock.
- L notices that queueHead->shouldPark = false, and acquires the WordLock
- L finishes all its work and exits, freeing queueHead
- U notifies queueHead->parkingLock (after free) and crashes or deadlocks
These conditions are currently so unlikely that I don't know how to test
them. I noticed this race because I changed WordLock's allocation pattern
to allow queueHead to be freed more often, and I crashed / deadlocked 100%.
Shout out to <http://en.cppreference.com/w/cpp/thread/condition_variable/notify_one>
for explaining this.
- benchmarks/ToyLocks.h: Fixed build.
- wtf/WordLock.cpp:
(WTF::WordLock::unlockSlow): Hold the lock a little longer to avoid
this race.
- 6:33 AM Changeset in webkit [231147] by
-
- 9 edits7 deletes in trunk
Unreviewed, rolling out r231137.
https://bugs.webkit.org/show_bug.cgi?id=185118
It is breaking Test262 language/expressions/multiplication
/order-of-evaluation.js (Requested by caiolima on #webkit).
Reverted changeset:
"[ESNext][BigInt] Implement support for "*" operation"
https://bugs.webkit.org/show_bug.cgi?id=183721
https://trac.webkit.org/changeset/231137