Timeline
Feb 28, 2019:
- 11:45 PM CoordinatedGraphicsSystem edited by
- (diff)
- 11:44 PM CoordinatedGraphicsSystem edited by
- (diff)
- 11:31 PM Changeset in webkit [242257] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove CachedPtr::m_isEmpty and CachedOptional::m_isEmpty fields
https://bugs.webkit.org/show_bug.cgi?id=194999
Reviewed by Saam Barati.
These fields are unnecessary, since we can just check that m_offset
has not been initialized (I added VariableLengthObject::isEmpty for
that). They also add 7-byte padding to these classes, which is pretty
bad given how frequently CachedPtr is used.
- runtime/CachedTypes.cpp:
(JSC::CachedObject::operator new[]):
(JSC::VariableLengthObject::allocate):
(JSC::VariableLengthObject::isEmpty const):
(JSC::CachedPtr::encode):
(JSC::CachedPtr::decode const):
(JSC::CachedPtr::get const):
(JSC::CachedOptional::encode):
(JSC::CachedOptional::decode const):
(JSC::CachedOptional::decodeAsPtr const):
- 8:40 PM Changeset in webkit [242256] by
-
- 2 edits in trunk/Source/WebCore
HTTPSUpgradeList.db database should be opened in readonly mode
https://bugs.webkit.org/show_bug.cgi?id=195194
<rdar://problem/47103889>
Unreviewed build fix for curl.
- platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::openDatabase): Removed the second arguemnt of SQLiteDatabase::open.
- 7:41 PM Changeset in webkit [242255] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed Windows build fix after r242251.
- platform/win/SearchPopupMenuDB.cpp:
(WebCore::SearchPopupMenuDB::openDatabase):
- 7:35 PM Changeset in webkit [242254] by
-
- 2 edits in trunk
[WinCairo] Turn ENABLE_RESOURCE_LOAD_STATISTICS on
https://bugs.webkit.org/show_bug.cgi?id=194267
Reviewed by Brent Fulgham.
- Source/cmake/OptionsWin.cmake:
- 7:15 PM Changeset in webkit [242253] by
-
- 5 edits in trunk/Source/WebCore
[ContentChangeObserver] Move timer removal code from DOMWindow::clearTimeout to DOMTimer::removeById
https://bugs.webkit.org/show_bug.cgi?id=195143
<rdar://problem/48462351>
Reviewed by Simon Fraser.
Currently DOMWindow::clearTimeout() is the only callsite that we are interested in, but this is more future-proof.
- page/DOMTimer.cpp:
(WebCore::DOMTimer::removeById):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::clearTimeout):
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::startObservingDOMTimerExecute):
(WebCore::ContentChangeObserver::stopObservingDOMTimerExecute):
(WebCore::ContentChangeObserver::didRemoveDOMTimer):
(WebCore::ContentChangeObserver::removeDOMTimer): Deleted.
- page/ios/ContentChangeObserver.h:
- 7:13 PM Changeset in webkit [242252] by
-
- 40 edits2 adds in trunk
[JSC] sizeof(JSString) should be 16
https://bugs.webkit.org/show_bug.cgi?id=194375
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/make-rope.js: Added.
(makeRope):
- stress/to-lower-case-intrinsic-on-empty-rope.js: We no longer allow 0 length JSString except for jsEmptyString singleton per VM.
(returnRope.helper): Deleted.
(returnRope): Deleted.
Source/JavaScriptCore:
This patch reduces sizeof(JSString) from 24 to 16 to fit it into GC heap cell atom. And it also reduces sizeof(JSRopeString) from 48 to 32.
Both classes cut 16 bytes per instance in GC allocation. This new layout is used in 64bit architectures which has little endianess.
JSString no longer has length and flags directly. JSString has String, and we query information to this String instead of holding duplicate
information in JSString. We embed isRope bit into this String's pointer so that we can convert JSRopeString to JSString in an atomic manner.
We emit store-store fence before we put String pointer. This should exist even before this patch, so this patch also fixes one concurrency issue.
The old JSRopeString separately had JSString* fibers along with String. In this patch, we merge the first JSString* fiber and String pointer
storage into one to reduce the size of JSRopeString. JSRopeString has three pointer width storage. We pick 48bit effective address of JSString*
fibers to compress three fibers + length + flags into three pointer width storage.
In 64bit architecture, JSString and JSRopeString have the following memory layout to make sizeof(JSString) == 16 and sizeof(JSRopeString) == 32.
JSString has only one pointer. We use it for String. length() and is8Bit() queries go to StringImpl. In JSRopeString, we reuse the above pointer
place for the 1st fiber. JSRopeString has three fibers so its size is 48. To keep length and is8Bit flag information in JSRopeString, JSRopeString
encodes these information into the fiber pointers. is8Bit flag is encoded in the 1st fiber pointer. length is embedded directly, and two fibers
are compressed into 12bytes. isRope information is encoded in the first fiber's LSB.
Since length of JSRopeString should be frequently accessed compared to each fiber, we put length in contiguous 32byte field, and compress 2nd
and 3rd fibers into the following 80byte fields. One problem is that now 2nd and 3rd fibers are split. Storing and loading 2nd and 3rd fibers
are not one pointer load operation. To make concurrent collector work correctly, we must initialize 2nd and 3rd fibers at JSRopeString creation
and we must not modify these part later.
0 8 10 16 32 48
JSString [ ID ][ header ][ String pointer 0]
JSRopeString [ ID ][ header ][ flags ][ 1st fiber 1][ length ][2nd lower32][2nd upper16][3rd lower16][3rd upper32]
isRope bit
Since fibers in JSRopeString are not initialized in atomic pointer store manner, we must initialize all the fiber fields at JSRopeString creation.
To achieve this, we modify our JSRopeString::RopeBuilder implementation not to create half-baked JSRopeString.
This patch also makes an empty JSString singleton per VM. This makes evaluation of JSString in boolean context one pointer comparison. This is
critical in this change since this patch enlarges the code necessary to get length from JSString in JIT. Without this guarantee, our code of boolean
context evaluation is bloated. This patch hides all the JSString::create and JSRopeString::create in the private permission. JSString and JSRopeString
creation is only allowed from jsString and related helper functions and they return a singleton empty JSString if the length is zero. We also change
JSRopeString::RopeBuilder not to construct an empty JSRopeString.
This patch is performance neutral in Speedometer2 and JetStream2. And it improves RAMification by 2.7%.
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::storeZero16):
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::storeZero16):
(JSC::MacroAssemblerX86Common::store16):
- bytecode/AccessCase.cpp:
(JSC::AccessCase::generateImpl):
- bytecode/InlineAccess.cpp:
(JSC::InlineAccess::dumpCacheSizesAndCrash):
(JSC::linkCodeInline):
(JSC::InlineAccess::isCacheableStringLength):
(JSC::InlineAccess::generateStringLength):
- bytecode/InlineAccess.h:
(JSC::InlineAccess::sizeForPropertyAccess):
(JSC::InlineAccess::sizeForPropertyReplace):
(JSC::InlineAccess::sizeForLengthAccess):
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileStringSlice):
(JSC::DFG::SpeculativeJIT::compileToLowerCase):
(JSC::DFG::SpeculativeJIT::compileGetCharCodeAt):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compileStringEquality):
(JSC::DFG::SpeculativeJIT::compileStringZeroLength):
(JSC::DFG::SpeculativeJIT::compileLogicalNotStringOrOther):
(JSC::DFG::SpeculativeJIT::emitStringBranch):
(JSC::DFG::SpeculativeJIT::emitStringOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
(JSC::DFG::SpeculativeJIT::emitPopulateSliceIndex):
(JSC::DFG::SpeculativeJIT::compileArraySlice):
(JSC::DFG::SpeculativeJIT::compileArrayIndexOf):
(JSC::DFG::SpeculativeJIT::speculateStringIdentAndLoadStorage):
(JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump):
(JSC::DFG::SpeculativeJIT::emitSwitchStringOnString):
(JSC::DFG::SpeculativeJIT::compileMakeRope): Deleted.
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileMakeRope):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileMakeRope):
- ftl/FTLAbstractHeapRepository.cpp:
(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage):
(JSC::FTL::DFG::LowerDFGToB3::compileGetArrayLength):
(JSC::FTL::DFG::LowerDFGToB3::compileMakeRope):
(JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt):
(JSC::FTL::DFG::LowerDFGToB3::compileStringCharCodeAt):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
(JSC::FTL::DFG::LowerDFGToB3::compileStringToUntypedStrictEquality):
(JSC::FTL::DFG::LowerDFGToB3::compileSwitch):
(JSC::FTL::DFG::LowerDFGToB3::mapHashString):
(JSC::FTL::DFG::LowerDFGToB3::compileMapHash):
(JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty):
(JSC::FTL::DFG::LowerDFGToB3::compileStringSlice):
(JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase):
(JSC::FTL::DFG::LowerDFGToB3::stringsEqual):
(JSC::FTL::DFG::LowerDFGToB3::boolify):
(JSC::FTL::DFG::LowerDFGToB3::switchString):
(JSC::FTL::DFG::LowerDFGToB3::isRopeString):
(JSC::FTL::DFG::LowerDFGToB3::isNotRopeString):
(JSC::FTL::DFG::LowerDFGToB3::speculateStringIdent):
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitConvertValueToBoolean):
(JSC::AssemblyHelpers::branchIfValue):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchIfRopeStringImpl):
(JSC::AssemblyHelpers::branchIfNotRopeStringImpl):
- jit/JITInlines.h:
(JSC::JIT::emitLoadCharacterString):
- jit/Repatch.cpp:
(JSC::tryCacheGetByID):
- jit/ThunkGenerators.cpp:
(JSC::stringGetByValGenerator):
(JSC::stringCharLoad):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/JSString.cpp:
(JSC::JSString::createEmptyString):
(JSC::JSRopeString::RopeBuilder<RecordOverflow>::expand):
(JSC::JSString::dumpToStream):
(JSC::JSString::estimatedSize):
(JSC::JSString::visitChildren):
(JSC::JSRopeString::resolveRopeInternal8 const):
(JSC::JSRopeString::resolveRopeInternal8NoSubstring const):
(JSC::JSRopeString::resolveRopeInternal16 const):
(JSC::JSRopeString::resolveRopeInternal16NoSubstring const):
(JSC::JSRopeString::resolveRopeToAtomicString const):
(JSC::JSRopeString::convertToNonRope const):
(JSC::JSRopeString::resolveRopeToExistingAtomicString const):
(JSC::JSRopeString::resolveRopeWithFunction const):
(JSC::JSRopeString::resolveRope const):
(JSC::JSRopeString::resolveRopeSlowCase8 const):
(JSC::JSRopeString::resolveRopeSlowCase const):
(JSC::JSRopeString::outOfMemory const):
(JSC::JSRopeString::visitFibers): Deleted.
(JSC::JSRopeString::clearFibers const): Deleted.
- runtime/JSString.h:
(JSC::JSString::uninitializedValueInternal const):
(JSC::JSString::valueInternal const):
(JSC::JSString::JSString):
(JSC::JSString::finishCreation):
(JSC::JSString::create):
(JSC::JSString::offsetOfValue):
(JSC::JSString::isRope const):
(JSC::JSString::is8Bit const):
(JSC::JSString::length const):
(JSC::JSString::tryGetValueImpl const):
(JSC::JSString::toAtomicString const):
(JSC::JSString::toExistingAtomicString const):
(JSC::JSString::value const):
(JSC::JSString::tryGetValue const):
(JSC::JSRopeString::unsafeView const):
(JSC::JSRopeString::viewWithUnderlyingString const):
(JSC::JSString::unsafeView const):
(JSC::JSString::viewWithUnderlyingString const):
(JSC::JSString::offsetOfLength): Deleted.
(JSC::JSString::offsetOfFlags): Deleted.
(JSC::JSString::setIs8Bit const): Deleted.
(JSC::JSString::setLength): Deleted.
(JSC::JSString::string): Deleted.
(JSC::jsStringBuilder): Deleted.
- runtime/JSStringInlines.h:
(JSC::JSString::~JSString):
(JSC::JSString::equal const):
- runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncToString):
- runtime/RegExpMatchesArray.h:
(JSC::createRegExpMatchesArray):
- runtime/RegExpObjectInlines.h:
(JSC::collectMatches):
- runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncSplitFast):
- runtime/SmallStrings.cpp:
(JSC::SmallStrings::initializeCommonStrings):
(JSC::SmallStrings::createEmptyString): Deleted.
- runtime/SmallStrings.h:
- runtime/StringPrototype.cpp:
(JSC::stringProtoFuncSlice):
- runtime/StringPrototypeInlines.h: Added.
(JSC::stringSlice):
Source/WTF:
- wtf/text/StringImpl.h:
(WTF::StringImpl::flagIs8Bit):
(WTF::StringImpl::flagIsAtomic):
(WTF::StringImpl::flagIsSymbol):
(WTF::StringImpl::maskStringKind):
- wtf/text/WTFString.cpp:
(WTF::nullString):
- wtf/text/WTFString.h:
- 6:47 PM Changeset in webkit [242251] by
-
- 8 edits in trunk/Source
HTTPSUpgradeList.db database should be opened in readonly mode
https://bugs.webkit.org/show_bug.cgi?id=195194
<rdar://problem/47103889>
Reviewed by Youenn Fablet.
Source/WebCore:
Add parameter to SQLiteDatabase::open() to specific the open flags.
- Modules/webdatabase/Database.cpp:
(WebCore::Database::performOpenAndVerify):
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open):
- platform/sql/SQLiteDatabase.h:
- platform/sql/SQLiteFileSystem.cpp:
- platform/sql/SQLiteFileSystem.h:
Source/WebKit:
HTTPSUpgradeList.db database should be opened in readonly mode since it is not meant to be
modified by WebKit. Opening it in ReadWrite mode causes sandbox violations.
- NetworkProcess/NetworkHTTPSUpgradeChecker.cpp:
(WebKit::NetworkHTTPSUpgradeChecker::NetworkHTTPSUpgradeChecker):
- 6:22 PM Changeset in webkit [242250] by
-
- 1 copy in tags/Safari-607.1.40.2.1
Tag Safari-607.1.40.2.1.
- 6:10 PM Changeset in webkit [242249] by
-
- 2 edits in trunk/Source/WebCore
Followup to:
Universal links from Google search results pages don't open the app
https://bugs.webkit.org/show_bug.cgi?id=195126
Unreviewed.
- page/SecurityOrigin.cpp:
(WebCore::originsMatch): Remove a bogus assertion (reasoning in bugzilla)
- 5:54 PM Changeset in webkit [242248] by
-
- 6 edits4 adds in trunk
[iOS] Dark flash when opening Google AMP pages
https://bugs.webkit.org/show_bug.cgi?id=195193
rdar://problem/48326442
Reviewed by Zalan Bujtas.
Source/WebCore:
After the incremental compositing updates changes, it was possible for a change in the size
of an overflow:hidden element to fail to update the "ancestor clipping layer" geometry on
a composited descendant that is not a descendant in z-order. When Google search results
create the <iframe> that contain AMP contents, we'd fail to update a zero-sized clipping layer,
leaving the #222 background of an intermediate element visible.
Fix by setting a flag in RenderLayer::updateLayerPosition() (which is called in containing block order)
that sets the "needs geometry update" dirty bit on containing-block-descendant layers. Currently
this flag affects all descendants; in future, we might be able to clear it for grand-children.
Tests: compositing/geometry/ancestor-clip-change-interleaved-stacking-context.html
compositing/geometry/ancestor-clip-change.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updateLayerPosition):
- rendering/RenderLayer.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterLayout):
- rendering/RenderLayerBacking.h:
LayoutTests:
Tests that change the size of a clipping layer with non-z-order composited descendant, with
a couple of layer tree configurations.
- compositing/geometry/ancestor-clip-change-expected.html: Added.
- compositing/geometry/ancestor-clip-change-interleaved-stacking-context-expected.html: Added.
- compositing/geometry/ancestor-clip-change-interleaved-stacking-context.html: Added.
- compositing/geometry/ancestor-clip-change.html: Added.
- 5:44 PM Changeset in webkit [242247] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed. Attempt windows build fix after r242239.
- runtime/CachedTypes.cpp:
(JSC::tagFromSourceCodeType):
- 5:30 PM Changeset in webkit [242246] by
-
- 1 copy in tags/Safari-607.1.40.1.2
Tag Safari-607.1.40.1.2.
- 5:29 PM Changeset in webkit [242245] by
-
- 1 copy in tags/Safari-607.1.40.0.2
Tag Safari-607.1.40.0.2.
- 5:11 PM Changeset in webkit [242244] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Timelines: don't show the auto-stop UI when not inspecting a page
https://bugs.webkit.org/show_bug.cgi?id=195192
Reviewed by Joseph Pecoraro.
- UserInterface/Views/TimelineRecordingContentView.js:
(WI.TimelineRecordingContentView):
(WI.TimelineRecordingContentView.prototype.get navigationItems):
- 4:48 PM Changeset in webkit [242243] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: CPU Usage: Worker thread that dies might stay at a high value forever
https://bugs.webkit.org/show_bug.cgi?id=195148
Reviewed by Matt Baker.
- UserInterface/Views/CPUTimelineView.js:
(CPUTimelineView.prototype.layout):
Handle workers dieing or at least zeroing out between records.
- 4:48 PM Changeset in webkit [242242] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: CPU Usage Timeline - Make Threads section expandable / collapsable
https://bugs.webkit.org/show_bug.cgi?id=195085
Reviewed by Matt Baker.
- UserInterface/Base/Setting.js:
New setting to save the Threads expanded/collapsed state.
- UserInterface/Views/CPUTimelineView.css:
(.timeline-view.cpu > .content > .details > .subtitle):
(.timeline-view.cpu > .content > .details > details > .subtitle.threads):
(.timeline-view.cpu > .content > .details > .subtitle): Deleted.
(.timeline-view.cpu > .content > .details > .subtitle.threads): Deleted.
Ensure subtitle styles apply now that one of the subtitles is inside
of a <details> / <summary> element.
- UserInterface/Views/CPUTimelineView.js:
(WI.CPUTimelineView.prototype.initialLayout):
Make the Threads group a <details> / <summary> expandable / collapsed element.
- UserInterface/Views/Main.css:
(summary):
(summary::-webkit-details-marker):
Default styles for <summary>.
- 4:48 PM Changeset in webkit [242241] by
-
- 5 edits in trunk
Web Inspector: View.removeSubview not removing the element properly when not parented
https://bugs.webkit.org/show_bug.cgi?id=195146
Reviewed by Matt Baker.
Source/WebInspectorUI:
- UserInterface/Views/View.js:
(WI.View.prototype.removeSubview):
Since the element may not be a direct child, just use Element.prototype.remove.
LayoutTests:
- inspector/view/basics-expected.txt:
- inspector/view/basics.html:
- 4:04 PM Changeset in webkit [242240] by
-
- 2 edits in trunk/Source/JavaScriptCore
In cloop.rb, rename :int and :uint to :intptr and :uintptr.
https://bugs.webkit.org/show_bug.cgi?id=195183
Reviewed by Yusuke Suzuki.
Also changed intMemRef and uintMemRef to intptrMemRef and uintptrMemRef respectively.
- offlineasm/cloop.rb:
- 3:58 PM Changeset in webkit [242239] by
-
- 9 edits in trunk/Source/JavaScriptCore
Make JSScript:cacheBytecodeWithError update the cache when the script changes
https://bugs.webkit.org/show_bug.cgi?id=194912
Reviewed by Mark Lam.
Prior to this patch, the JSScript SPI would never check if its cached
bytecode were still valid. This would lead the cacheBytecodeWithError
succeeding even if the underlying cache were stale. This patch fixes
that by making JSScript check if the cache is still valid. If it's not,
we will cache bytecode when cacheBytecodeWithError is invoked.
- API/JSScript.mm:
(-[JSScript readCache]):
(-[JSScript writeCache:]):
- API/tests/testapi.mm:
(testBytecodeCacheWithSameCacheFileAndDifferentScript):
(testObjectiveCAPI):
- runtime/CachedTypes.cpp:
(JSC::Decoder::Decoder):
(JSC::VariableLengthObject::buffer const):
(JSC::CachedPtr::decode const):
(JSC::tagFromSourceCodeType):
(JSC::GenericCacheEntry::isUpToDate const):
(JSC::CacheEntry::isStillValid const):
(JSC::GenericCacheEntry::decode const):
(JSC::GenericCacheEntry::isStillValid const):
(JSC::encodeCodeBlock):
(JSC::decodeCodeBlockImpl):
(JSC::isCachedBytecodeStillValid):
- runtime/CachedTypes.h:
- runtime/CodeCache.cpp:
(JSC::sourceCodeKeyForSerializedBytecode):
(JSC::sourceCodeKeyForSerializedProgram):
(JSC::sourceCodeKeyForSerializedModule):
(JSC::serializeBytecode):
- runtime/CodeCache.h:
(JSC::CodeCacheMap::fetchFromDiskImpl):
- runtime/Completion.cpp:
(JSC::generateProgramBytecode):
(JSC::generateBytecode): Deleted.
- runtime/Completion.h:
- 3:57 PM Changeset in webkit [242238] by
-
- 2 edits in tags/Safari-608.1.7.1/Source/WTF
Cherry-pick r242235. rdar://problem/48464665
Change CheckedArithmetic to not use std::enable_if_t.
https://bugs.webkit.org/show_bug.cgi?id=195187
<rdar://problem/48464665>
Reviewed by Keith Miller.
Because C++11 does not like std::enable_if_t and there's a need to use this file with C++11.
- wtf/CheckedArithmetic.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:42 PM Changeset in webkit [242237] by
-
- 4 edits2 adds in trunk
Use-after-move in RenderCombineText::combineTextIfNeeded()
https://bugs.webkit.org/show_bug.cgi?id=195188
Reviewed by Zalan Bujtas.
Source/WebCore:
r241288 uncovered an existing problem with our text-combine code. r242204 alleviated the
symptom, but this patch fixes the source of the problem (and reverts r242204).
The code in RenderCombineText::combineTextIfNeeded() has a bit that’s like:
FontDescription bestFitDescription;
while (...) {
FontCascade compressedFont(WTFMove(bestFitDescription), ...);
...
}
Clearly this is wrong.
Test: fast/text/text-combine-crash-2.html
- platform/graphics/cocoa/FontDescriptionCocoa.cpp:
(WebCore::FontDescription::platformResolveGenericFamily):
- rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::combineTextIfNeeded):
LayoutTests:
- fast/text/text-combine-crash-2-expected.html: Added.
- fast/text/text-combine-crash-2.html: Added.
- 3:37 PM Changeset in webkit [242236] by
-
- 5 edits1 add in trunk
Expose APINavigationAction.shouldPerformDownload() on WKNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=195121
rdar://problem/48450302
Reviewed by Alex Christensen.
Source/WebKit:
- UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction _shouldPerformDownload]):
- UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
Tools:
Add API tests for -WKNavigationAction._shouldPerformDownload in various
configurations where the 'download' attribute is absent, blank, or populated
with a filename, and where the anchor element is same-origin or cross-origin
(meaning the 'download' attribute shouldn't be honored).
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/NavigationAction.mm: Added.
(-[NavigationActionTestDelegate init]):
(-[NavigationActionTestDelegate navigationAction]):
(-[NavigationActionTestDelegate waitForNavigationActionCallback]):
(-[NavigationActionTestDelegate waitForDidFinishNavigation]):
(-[NavigationActionTestDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[NavigationActionTestDelegate webView:didFinishNavigation:]):
(TEST):
- 3:33 PM Changeset in webkit [242235] by
-
- 2 edits in trunk/Source/WTF
Change CheckedArithmetic to not use std::enable_if_t.
https://bugs.webkit.org/show_bug.cgi?id=195187
<rdar://problem/48464665>
Reviewed by Keith Miller.
Because C++11 does not like std::enable_if_t and there's a need to use this file with C++11.
- wtf/CheckedArithmetic.h:
- 3:18 PM Changeset in webkit [242234] by
-
- 6 edits in trunk/Source/WebCore
[ContentChangeObserver] Introduce observer subclasses to scope content change observing.
https://bugs.webkit.org/show_bug.cgi?id=195172
<rdar://problem/48479259>
Reviewed by Simon Fraser.
Let's scope start/stopObserving call pairs.
- dom/Document.cpp:
(WebCore::Document::updateStyleIfNeeded):
- page/DOMTimer.cpp:
(WebCore::DOMTimer::fired):
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::StyleChangeObserver::StyleChangeObserver):
(WebCore::ContentChangeObserver::StyleChangeObserver::~StyleChangeObserver):
(WebCore::ContentChangeObserver::StyleRecalcObserver::StyleRecalcObserver):
(WebCore::ContentChangeObserver::StyleRecalcObserver::~StyleRecalcObserver):
(WebCore::ContentChangeObserver::DOMTimerObserver::DOMTimerObserver):
(WebCore::ContentChangeObserver::DOMTimerObserver::~DOMTimerObserver):
(WebCore::ContentChangeObserver::StyleChange::StyleChange): Deleted.
(WebCore::ContentChangeObserver::StyleChange::~StyleChange): Deleted.
- page/ios/ContentChangeObserver.h:
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateElementRenderer):
- 3:04 PM Changeset in webkit [242233] by
-
- 2 edits in trunk/Source/WebKit
Disable Web Animations in Safari Technology Preview
https://bugs.webkit.org/show_bug.cgi?id=194748
<rdar://problem/48139481>
Patch by Antoine Quint <Antoine Quint> on 2019-02-28
Reviewed by Dean Jackson.
The test runners already opt into that feature explicitly, so all that is needed is to turn
the default setting value to false.
- Shared/WebPreferences.yaml:
- 2:59 PM Changeset in webkit [242232] by
-
- 8 edits in trunk
Enable the Pointer Events runtime flag by default
https://bugs.webkit.org/show_bug.cgi?id=195156
Patch by Antoine Quint <Antoine Quint> on 2019-02-28
Reviewed by Dean Jackson.
Source/WebCore:
- page/RuntimeEnabledFeatures.h:
Source/WebKit:
- Shared/WebPreferences.yaml:
Source/WebKitLegacy/mac:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
Tools:
- DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
- 2:54 PM Changeset in webkit [242231] by
-
- 3 edits in trunk/LayoutTests
REGRESSION (r240644): Layout Test inspector/page/overrideSetting-ICECandidateFilteringEnabled.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=194437
<rdar://problem/48008005>
Reviewed by Joseph Pecoraro.
- inspector/page/overrideSetting-ICECandidateFilteringEnabled.html:
- inspector/page/overrideSetting-ICECandidateFilteringEnabled-expected.txt:
Make sure to close the peer connection and data channel after each phase of the test.
Also add failure logging.
- 2:45 PM Changeset in webkit [242230] by
-
- 7 edits in trunk/Source/WebKit
Revert r232263: it caused processes to crash because process was suspended with locked file
https://bugs.webkit.org/show_bug.cgi?id=195122
<rdar://problem/48444599>
Reviewed by Geoffrey Garen.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
- NetworkProcess/NetworkProcess.h:
- Shared/WebSQLiteDatabaseTracker.cpp:
(WebKit::WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker):
(WebKit::WebSQLiteDatabaseTracker::hysteresisUpdated):
- Shared/WebSQLiteDatabaseTracker.h:
- WebProcess/WebProcess.cpp:
(WebKit::m_webSQLiteDatabaseTracker):
(WebKit::m_nonVisibleProcessCleanupTimer): Deleted.
- WebProcess/WebProcess.h:
- 2:34 PM Changeset in webkit [242229] by
-
- 7 edits in tags/Safari-608.1.7.1/Source
Versioning.
- 2:32 PM Changeset in webkit [242228] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Debugger: disabled breakpoint color is too dark
https://bugs.webkit.org/show_bug.cgi?id=195103
<rdar://problem/48440678>
Reviewed by Devin Rousso.
Increase the disabled breakpoint contrast, as well as the contrast between
disabled and auto-continue breakpoints. Disabled breakpoints stand out by
being somewhat brighter and less saturated. Using the same strategy for
auto-continue breakpoints is too subtle to provide sufficient contrast.
We can adopt the technique used by Xcode, and overlay a white triangle
marker on the breakpoint arrow to indicate an auto-continue breakpoint.
- UserInterface/Views/BreakpointTreeElement.css:
(.item.breakpoint .status > .status-image):
(.item.breakpoint.selected .status > .status-image.resolved):
Add white outline to make selected breakpoint button stand out.
(.item.breakpoint .status > .status-image.auto-continue::after):
(.item.breakpoint .status > .status-image.disabled):
(.item.breakpoint .status > .status-image.auto-continue): Deleted.
- UserInterface/Views/DOMTreeContentView.css:
(.content-view.dom-tree .tree-outline.dom li .status-image.breakpoint):
(.content-view.dom-tree .tree-outline.dom li .status-image.breakpoint.disabled):
(.content-view.dom-tree .tree-outline.dom li .status-image.breakpoint.subtree):
(.content-view.dom-tree .tree-outline.dom li .status-image.breakpoint.disabled,): Deleted.
- UserInterface/Views/TextEditor.css:
(.text-editor > .CodeMirror .has-breakpoint .CodeMirror-linenumber::before):
(.text-editor > .CodeMirror .breakpoint-auto-continue:not(.execution-line.primary) .CodeMirror-linenumber::after):
(.text-editor > .CodeMirror .breakpoint-disabled .CodeMirror-linenumber::before):
(.text-editor > .CodeMirror .breakpoint-auto-continue:not(.breakpoint-disabled) .CodeMirror-linenumber::before): Deleted.
- UserInterface/Views/Variables.css:
(:root):
Add breakpoint color variables to use across all breakpoint controls.
Use system colors if available, otherwise fall back to hard-coded values
based on sampling the default (blue) accent color on Mojave.
- 2:29 PM Changeset in webkit [242227] by
-
- 3 edits in trunk/Source/WebCore
[ContentChangeObserver] Make observed state reset explicit.
https://bugs.webkit.org/show_bug.cgi?id=195185
<rdar://problem/48488342>
Reviewed by Simon Fraser.
Use setObservedContentChange only for setting the observed change while observing.
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::startObservingContentChanges):
(WebCore::ContentChangeObserver::resetObservedContentChange):
(WebCore::ContentChangeObserver::removeObservedDOMTimer):
- page/ios/ContentChangeObserver.h:
- 2:13 PM Changeset in webkit [242226] by
-
- 1 copy in tags/Safari-608.1.7.1
New tag.
- 2:01 PM Changeset in webkit [242225] by
-
- 17 edits in trunk/LayoutTests
Web Inspector: Canvas: change tests to not print out dataURLs
https://bugs.webkit.org/show_bug.cgi?id=195136
<rdar://problem/48248697>
Reviewed by Matt Baker.
- inspector/canvas/resources/recording-utilities.js:
(TestPage.registerInitializer.async logRecording):
(TestPage.registerInitializer.window.startRecording):
- inspector/canvas/recording-2d-expected.txt:
- inspector/canvas/recording-bitmaprenderer-expected.txt:
- inspector/canvas/recording-webgl-expected.txt:
- inspector/canvas/recording-webgl-snapshots.html:
- inspector/canvas/recording-webgl-snapshots-expected.txt:
- inspector/canvas/requestContent-2d.html:
- inspector/canvas/requestContent-2d-expected.txt:
- inspector/canvas/requestContent-bitmaprenderer.html:
- inspector/canvas/requestContent-bitmaprenderer-expected.txt:
- inspector/canvas/requestContent-webgl.html:
- inspector/canvas/requestContent-webgl-expected.txt:
- inspector/canvas/requestContent-webgl2.html:
- inspector/canvas/requestContent-webgl2-expected.txt:
- inspector/canvas/setShaderProgramHighlighted.html:
- inspector/canvas/setShaderProgramHighlighted-expected.txt:
- 1:53 PM Changeset in webkit [242224] by
-
- 7 edits in branches/safari-607.1.40.0-branch/Source
Versioning.
- 1:41 PM Changeset in webkit [242223] by
-
- 2 edits in branches/safari-607.1.40.0-branch/Source/WebCore
Cherry-pick r242204. rdar://problem/48483749
Locale names can be nullptr
https://bugs.webkit.org/show_bug.cgi?id=195171
<rdar://problem/48262376>
Reviewed by Dean Jackson.
Nullptr can't be used in keys to HashMaps, so take an early out in this case.
This is a partial revert of r241288.
- platform/graphics/cocoa/FontDescriptionCocoa.cpp: (WebCore::FontDescription::platformResolveGenericFamily):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:39 PM Changeset in webkit [242222] by
-
- 9 edits in trunk/Source/WebKit
[iOS] Move calls to [UIKeyboard isInHardwareKeyboardMode] to the UI process.
https://bugs.webkit.org/show_bug.cgi?id=193683
<rdar://problem/47634345>
Reviewed by Brent Fulgham.
When a keyboard is attached/deattached or the application becomes foreground, send a message from
the UI process to the WebContent process, notifying whether a keyboard is attached or not. Also,
cache the value of [UIKeyboard isInHardwareKeyboardMode] in the UI process, since this call seems
to be expensive.
- UIProcess/API/Cocoa/WKWebView.mm:
(hardwareKeyboardAvailabilityChangedCallback):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::setKeyboardIsAttached):
(WebKit::WebProcessProxy::keyboardIsAttached const):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::applicationWillEnterForeground):
(WebKit::WebPageProxy::hardwareKeyboardAvailabilityChanged):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::platformEditorState const):
(WebKit::WebPage::hardwareKeyboardAvailabilityChanged):
- 1:27 PM Changeset in webkit [242221] by
-
- 7 edits in branches/safari-607.1.40.1-branch/Source
Versioning.
- 1:24 PM Changeset in webkit [242220] by
-
- 2 edits in branches/safari-607.1.40.1-branch/Source/WebCore
Cherry-pick r242204. rdar://problem/48483747
Locale names can be nullptr
https://bugs.webkit.org/show_bug.cgi?id=195171
<rdar://problem/48262376>
Reviewed by Dean Jackson.
Nullptr can't be used in keys to HashMaps, so take an early out in this case.
This is a partial revert of r241288.
- platform/graphics/cocoa/FontDescriptionCocoa.cpp: (WebCore::FontDescription::platformResolveGenericFamily):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:24 PM Changeset in webkit [242219] by
-
- 2 edits in branches/safari-607.1.40.1-branch/Source/WebCore
Apply patch. rdar://problem/48464969
- 1:19 PM Changeset in webkit [242218] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Styles: Control-Space should force completion
https://bugs.webkit.org/show_bug.cgi?id=194796
<rdar://problem/48180822>
Reviewed by Matt Baker.
Pressing Control-Space when editing CSS property should show completion popover,
even if the value is empty.
- UserInterface/Models/CSSCompletions.js:
(WI.CSSCompletions.prototype.startsWith):
Performance optimization: exit early whenprefixis empty.
- UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype._nameCompletionDataProvider):
(WI.SpreadsheetStyleProperty.prototype._valueCompletionDataProvider):
- UserInterface/Views/SpreadsheetTextField.js:
(WI.SpreadsheetTextField):
(WI.SpreadsheetTextField.prototype._handleKeyDown):
(WI.SpreadsheetTextField.prototype._updateCompletions):
- 1:06 PM Changeset in webkit [242217] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas: enabling auto-capture if the frame count is empty triggers an assertion
https://bugs.webkit.org/show_bug.cgi?id=195060
Reviewed by Matt Baker.
- UserInterface/Views/CanvasOverviewContentView.js:
(WI.CanvasOverviewContentView.prototype._setRecordingAutoCaptureFrameCount):
(WI.CanvasOverviewContentView.prototype._updateRecordingAutoCaptureCheckboxLabel):
(WI.CanvasOverviewContentView.prototype._handleRecordingAutoCaptureCheckedDidChange):
- 12:52 PM Changeset in webkit [242216] by
-
- 2 edits in trunk/Tools
Several PasteImage API tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=195160
Reviewed by Tim Horton.
Some of these tests, such as PasteTIFFImage, don't wait for the inserted image element to finish loading before
querying the image element's size; a few other tests, such as PastePNGFile, are racy since they may begin
listening for a "load" event after image load is already complete.
To address this, make these tests first register a "load" event handler, then run script to insert an image
element into the document, and finally wait until the load event is observed before checking image size.
- TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
- 12:48 PM Changeset in webkit [242215] by
-
- 2 edits in trunk/Source/JavaScriptCore
cloop.rb shift mask should depend on the word size being shifted.
https://bugs.webkit.org/show_bug.cgi?id=195181
<rdar://problem/48484164>
Reviewed by Yusuke Suzuki.
Previously, we're always masking the shift amount with 0x1f. This is only correct
for 32-bit words. For 64-bit words, the mask should be 0x3f. For pointer sized
shifts, the mask depends on sizeof(uintptr_t).
- offlineasm/cloop.rb:
- 12:44 PM Changeset in webkit [242214] by
-
- 2 edits in branches/safari-607-branch/Source/WebCore
Cherry-pick r242204. rdar://problem/48483754
Locale names can be nullptr
https://bugs.webkit.org/show_bug.cgi?id=195171
<rdar://problem/48262376>
Reviewed by Dean Jackson.
Nullptr can't be used in keys to HashMaps, so take an early out in this case.
This is a partial revert of r241288.
- platform/graphics/cocoa/FontDescriptionCocoa.cpp: (WebCore::FontDescription::platformResolveGenericFamily):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:17 PM Changeset in webkit [242213] by
-
- 2 edits in trunk/JSTests
Unreviewed, reduce the count in the stress/read-dead-bytecode-locals-in-must-handle-values2.js
https://bugs.webkit.org/show_bug.cgi?id=195144
1e8 takes too much time in the Debug build. I tried 1e5 with the old Debug build and it successfully reproduced the issue.
Change the number from 1e8 to 1e5.
- stress/read-dead-bytecode-locals-in-must-handle-values2.js:
(foo):
- 11:58 AM Changeset in webkit [242212] by
-
- 5 edits in trunk/Source/WebCore
Unreviewed, rolling out r242210.
https://bugs.webkit.org/show_bug.cgi?id=195179
it broke hover menus on losaltosonline.com (Requested by zalan
on #webkit).
Reverted changeset:
"[ContentChangeObserver] Move timer removal code from
DOMWindow::clearTimeout to DOMTimer::removeById"
https://bugs.webkit.org/show_bug.cgi?id=195143
https://trac.webkit.org/changeset/242210
Patch by Commit Queue <commit-queue@webkit.org> on 2019-02-28
- 11:25 AM Changeset in webkit [242211] by
-
- 2 edits in branches/safari-607-branch/Source/WebCore
Apply patch. rdar://problem/48464974
- 11:19 AM Changeset in webkit [242210] by
-
- 5 edits in trunk/Source/WebCore
[ContentChangeObserver] Move timer removal code from DOMWindow::clearTimeout to DOMTimer::removeById
https://bugs.webkit.org/show_bug.cgi?id=195143
<rdar://problem/48462351>
Reviewed by Simon Fraser.
Currently DOMWindow::clearTimeout() is the only callsite that we are interested in, but this is more future-proof.
- page/DOMTimer.cpp:
(WebCore::DOMTimer::removeById):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::clearTimeout):
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::startObservingDOMTimerExecute):
(WebCore::ContentChangeObserver::stopObservingDOMTimerExecute):
(WebCore::ContentChangeObserver::didRemoveDOMTimer):
(WebCore::ContentChangeObserver::removeDOMTimer): Deleted.
- page/ios/ContentChangeObserver.h:
- 11:09 AM Changeset in webkit [242209] by
-
- 7 edits1 add in trunk
Fix Resource Timing buffer edge cases for WPT
https://bugs.webkit.org/show_bug.cgi?id=193213
Patch by Charles Vazac <cvazac@akamai.com> on 2019-02-28
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/resource-timing/buffer-full-add-after-full-event.html:
- web-platform-tests/resource-timing/buffer-full-add-entries-during-callback-that-drop-expected.txt:
- web-platform-tests/resource-timing/buffer-full-add-then-clear-expected.txt:
- web-platform-tests/resource-timing/buffer-full-then-increased-expected.txt:
Source/WebCore:
Test coverage by LayoutTests/imported/w3c/web-platform-tests/resource-timing/buffer*.html
- page/Performance.cpp:
(WebCore::Performance::resourceTimingBufferFullTimerFired): Only dispatch the
resourcetimingbufferfull event if the buffer is still full (as it may have been cleared or
expanded). Also, avoid infinite loops if we aren't able to decrease the number of entries in
the secondary buffer.
- 10:51 AM Changeset in webkit [242208] by
-
- 2 edits in trunk/Tools
Flaky API Test: TestWebKitAPI.ProcessSwap.PageZoomLevelAfterSwap
https://bugs.webkit.org/show_bug.cgi?id=195107
Reviewed by Alex Christensen.
Give some time for the zoom level to get restored.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 10:44 AM Changeset in webkit [242207] by
-
- 5 edits1 add in trunk
[Curl] HTTP Body is missing with redirection.
https://bugs.webkit.org/show_bug.cgi?id=191651
Patch by Takashi Komori <Takashi.Komori@sony.com> on 2019-02-28
Reviewed by Don Olmstead.
Source/WebCore:
Implement updateFromDelegatePreservingOldProperties for curl port.
Tests: http/tests/navigation/post-301-response.html
http/tests/navigation/post-302-response.html
http/tests/navigation/post-303-response.html
http/tests/navigation/post-307-response.html
http/tests/navigation/post-308-response.html
- platform/Curl.cmake:
- platform/network/curl/ResourceRequest.h:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Deleted.
- platform/network/curl/ResourceRequestCurl.cpp: Added.
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
LayoutTests:
- platform/wincairo/TestExpectations:
- 10:41 AM Changeset in webkit [242206] by
-
- 14 edits in branches/safari-607.1.40.2-branch
Cherry-pick r242200. rdar://problem/48464986
[watchOS] Disable Parental Controls content filtering
<rdar://problem/48464986>
Rubber-stamped by Beth Dakin.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/Platform.h:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/branches/safari-607-branch@242200 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:28 AM Changeset in webkit [242205] by
-
- 43 edits in trunk
[CoordinatedGraphics] Remove COORDINATED_GRAPHICS_THREADED option
https://bugs.webkit.org/show_bug.cgi?id=195159
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-02-28
Reviewed by Don Olmstead.
.:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsPlayStation.cmake:
- Source/cmake/OptionsWPE.cmake:
Source/WebCore:
Use COORDINATED_GRAPHICS instead.
- platform/graphics/GraphicsContext3D.h:
- platform/graphics/PlatformLayer.h:
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBufferData::ImageBufferData):
(WebCore::ImageBufferData::~ImageBufferData):
- platform/graphics/cairo/ImageBufferDataCairo.h:
- platform/graphics/nicosia/NicosiaPaintingEngineThreaded.cpp:
- platform/graphics/nicosia/NicosiaPaintingEngineThreaded.h:
- platform/graphics/nicosia/texmap/NicosiaGC3DLayer.cpp:
(Nicosia::GC3DLayer::swapBuffersIfNeeded):
- platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::reshapeFBOs):
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::prepareTexture):
- platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
(WebCore::GraphicsContext3D::reshapeFBOs):
- platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
- platform/graphics/texmap/TextureMapperGC3DPlatformLayer.cpp:
(WebCore::TextureMapperGC3DPlatformLayer::TextureMapperGC3DPlatformLayer):
(WebCore::TextureMapperGC3DPlatformLayer::~TextureMapperGC3DPlatformLayer):
- platform/graphics/texmap/TextureMapperGC3DPlatformLayer.h:
- platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:
- platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:
- platform/graphics/texmap/TextureMapperPlatformLayerProxyProvider.h:
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):
(WebCore::CoordinatedGraphicsLayer::updatePlatformLayer):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintsIntoWindow const):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::shouldCompositeOverflowControls const):
Source/WebKit:
Use COORDINATED_GRAPHICS instead.
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::onNewBufferAvailable):
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
- Shared/CoordinatedGraphics/SimpleViewportController.cpp:
- Shared/CoordinatedGraphics/SimpleViewportController.h:
- Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
- Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h:
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.h:
- WebProcess/WebPage/AcceleratedDrawingArea.cpp:
(WebKit::AcceleratedDrawingArea::mainFrameContentSizeChanged):
(WebKit::AcceleratedDrawingArea::enterAcceleratedCompositingMode):
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:
- WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::updatePreferences):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):
(WebKit::WebPage::viewportPropertiesDidChange):
- WebProcess/gtk/WebProcessMainGtk.cpp:
- 10:22 AM Changeset in webkit [242204] by
-
- 2 edits in trunk/Source/WebCore
Locale names can be nullptr
https://bugs.webkit.org/show_bug.cgi?id=195171
<rdar://problem/48262376>
Reviewed by Dean Jackson.
Nullptr can't be used in keys to HashMaps, so take an early out in this case.
This is a partial revert of r241288.
- platform/graphics/cocoa/FontDescriptionCocoa.cpp:
(WebCore::FontDescription::platformResolveGenericFamily):
- 10:15 AM Changeset in webkit [242203] by
-
- 9 edits in trunk
Stop using legacy IDB path by default when creating WebProcessPool from websiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=194958
Reviewed by Geoffrey Garen.
Source/WebKit:
ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration should not use fixed IDB path.
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration):
- UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::createLegacy):
(API::indexedDBDatabaseDirectory):
- UIProcess/API/APIWebsiteDataStore.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _indexedDBDatabaseDirectory]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::legacyWebsiteDataStoreConfiguration):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBUserDelete.mm:
(TEST):
- 9:45 AM Changeset in webkit [242202] by
-
- 11 edits in trunk/LayoutTests
Fix timing out tests following r241747
(https://bugs.webkit.org/show_bug.cgi?id=193599)
Fix up the path to ui-helper.js so that we actually load it.
- fast/forms/ios/focus-button.html:
- fast/forms/ios/focus-checkbox.html:
- fast/forms/ios/focus-checked-checkbox.html:
- fast/forms/ios/focus-checked-radio.html:
- fast/forms/ios/focus-radio.html:
- fast/forms/ios/focus-reset-button.html:
- fast/forms/ios/focus-search-field.html:
- fast/forms/ios/focus-submit-button.html:
- fast/forms/ios/focus-text-field.html:
- fast/forms/ios/focus-textarea.html:
- 9:34 AM Changeset in webkit [242201] by
-
- 2 edits in trunk/JSTests
Test times out on ARM/MIPS
https://bugs.webkit.org/show_bug.cgi?id=195168
Unreviewed. Skip test on ARM/MIPS.
- stress/read-dead-bytecode-locals-in-must-handle-values2.js:
- 9:31 AM Changeset in webkit [242200] by
-
- 14 edits in branches/safari-607-branch
[watchOS] Disable Parental Controls content filtering
<rdar://problem/48464986>
Rubber-stamped by Beth Dakin.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/Platform.h:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 5:17 AM Changeset in webkit [242199] by
-
- 8 edits1 move1 add5 deletes in trunk/Source/WebKit
[CoordinatedGraphics] Unify all LayerTreeHost classes
https://bugs.webkit.org/show_bug.cgi?id=195094
Reviewed by Žan Doberšek.
There's no reason to have 3 classes, since currently LayerTreeHost is only used by coordinated graphics based
ports.
- PlatformWin.cmake:
- SourcesGTK.txt:
- SourcesWPE.txt:
- WebProcess/WebPage/AcceleratedDrawingArea.cpp:
(WebKit::AcceleratedDrawingArea::enterAcceleratedCompositingMode):
(WebKit::AcceleratedDrawingArea::exitAcceleratedCompositingModeNow):
- WebProcess/WebPage/AcceleratedDrawingArea.h:
- WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: Removed.
- WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: Removed.
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp: Renamed from Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp.
(WebKit::LayerTreeHost::LayerTreeHost):
(WebKit::LayerTreeHost::~LayerTreeHost):
(WebKit::LayerTreeHost::setLayerFlushSchedulingEnabled):
(WebKit::LayerTreeHost::scheduleLayerFlush):
(WebKit::LayerTreeHost::cancelPendingLayerFlush):
(WebKit::LayerTreeHost::layerFlushTimerFired):
(WebKit::LayerTreeHost::setRootCompositingLayer):
(WebKit::LayerTreeHost::setViewOverlayRootLayer):
(WebKit::LayerTreeHost::invalidate):
(WebKit::LayerTreeHost::scrollNonCompositedContents):
(WebKit::LayerTreeHost::forceRepaint):
(WebKit::LayerTreeHost::forceRepaintAsync):
(WebKit::LayerTreeHost::sizeDidChange):
(WebKit::LayerTreeHost::pauseRendering):
(WebKit::LayerTreeHost::resumeRendering):
(WebKit::LayerTreeHost::graphicsLayerFactory):
(WebKit::LayerTreeHost::contentsSizeChanged):
(WebKit::LayerTreeHost::didChangeViewportAttributes):
(WebKit::LayerTreeHost::didChangeViewport):
(WebKit::LayerTreeHost::setIsDiscardable):
(WebKit::LayerTreeHost::setNativeSurfaceHandleForCompositing):
(WebKit::LayerTreeHost::deviceOrPageScaleFactorChanged):
(WebKit::LayerTreeHost::createDisplayRefreshMonitor):
(WebKit::LayerTreeHost::didFlushRootLayer):
(WebKit::LayerTreeHost::commitSceneState):
(WebKit::LayerTreeHost::frameComplete):
(WebKit::LayerTreeHost::nativeSurfaceHandleForCompositing):
(WebKit::LayerTreeHost::didDestroyGLContext):
(WebKit::LayerTreeHost::willRenderFrame):
(WebKit::LayerTreeHost::didRenderFrame):
(WebKit::LayerTreeHost::requestDisplayRefreshMonitorUpdate):
(WebKit::LayerTreeHost::handleDisplayRefreshMonitorUpdate):
(WebKit::LayerTreeHost::renderNextFrame):
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h: Renamed from Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h.
- WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::setNeedsDisplay):
(WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
- WebProcess/WebPage/LayerTreeHost.cpp: Removed.
- WebProcess/WebPage/LayerTreeHost.h: Removed.
- WebPage/win/LayerTreeHost.h: Added.
- 4:28 AM Changeset in webkit [242198] by
-
- 3 edits in trunk/Tools
[ews-app] Update method to save build to handle builder_display_name
https://bugs.webkit.org/show_bug.cgi?id=195047
Reviewed by Dewei Zhu.
- BuildSlaveSupport/ews-app/ews/models/build.py: Updated to handle builder_name and builder_display_name.
- BuildSlaveSupport/ews-app/ews/views/results.py: Ditto.
- 1:02 AM Changeset in webkit [242197] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Revert -webkit-border-end changes that are unreliable
https://bugs.webkit.org/show_bug.cgi?id=195149
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2019-02-28
Reviewed by Matt Baker.
- UserInterface/Views/CPUUsageIndicatorView.css:
(.cpu-usage-indicator-view > .details):
(body[dir=ltr] .cpu-usage-indicator-view > .details):
(body[dir=rtl] .cpu-usage-indicator-view > .details):
- UserInterface/Views/CPUUsageStackedView.css:
(.cpu-usage-stacked-view > .details):
(body[dir=ltr] .cpu-usage-stacked-view > .details):
(body[dir=rtl] .cpu-usage-stacked-view > .details):
- UserInterface/Views/CPUUsageView.css:
(.cpu-usage-view > .details):
(body[dir=ltr] .cpu-usage-view > .details):
(body[dir=rtl] .cpu-usage-view > .details):
- UserInterface/Views/MemoryCategoryView.css:
(.memory-category-view > .details):
(body[dir=ltr] .memory-category-view > .details):
(body[dir=rtl] .memory-category-view > .details):
- 12:27 AM Changeset in webkit [242196] by
-
- 12 edits in trunk
[Web GPU] Enable Web GPU only on 64-bit
https://bugs.webkit.org/show_bug.cgi?id=195139
Because Metal is only supported on 64 bit apps.
Unreviewed build fix.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 12:07 AM Changeset in webkit [242195] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Cleanup some Chart code
https://bugs.webkit.org/show_bug.cgi?id=195147
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2019-02-28
Reviewed by Matt Baker.
- UserInterface/Views/RangeChart.js:
(WI.RangeChart.prototype.layout):
(WI.RangeChart):
- UserInterface/Views/StackedColumnChart.js:
(WI.StackedColumnChart.prototype.layout):
(WI.StackedColumnChart):
Feb 27, 2019:
- 11:28 PM WebKitGTK/2.24.x edited by
- (diff)
- 10:54 PM Changeset in webkit [242194] by
-
- 11 edits in trunk/Source/WebInspectorUI
Web Inspector: Add a new Scanner TimelineMarker to show up when mousing over TimelineView graphs
https://bugs.webkit.org/show_bug.cgi?id=195079
Reviewed by Devin Rousso.
- UserInterface/Base/Utilities.js:
(Note.prototype.enclosingNodeOrSelfWithClassInArray):
Helper for a set of classes.
- UserInterface/Models/TimelineMarker.js:
Add a new marker type, "Scanner".
- UserInterface/Views/CPUTimelineView.js:
(WI.CPUTimelineView.prototype.initialLayout):
(WI.CPUTimelineView.prototype._graphPositionForMouseEvent):
(WI.CPUTimelineView.prototype._handleGraphMouseMove):
- UserInterface/Views/MemoryTimelineView.js:
(WI.MemoryTimelineView):
(WI.MemoryTimelineView.prototype._graphPositionForMouseEvent):
(WI.MemoryTimelineView.prototype._handleGraphMouseMove):
Update a scanner time when mousing over various graphs that span the entire time range.
These use the containing graph element because there was a single pixel between
adjacent graphs which would cause the scanner to flicker because the mouse event target
was not an svg element.
- UserInterface/Views/TimelineOverview.js:
(WI.TimelineOverview.prototype.hidden):
(WI.TimelineOverview.prototype.updateScannerTime):
(WI.TimelineOverview.prototype.clearScanner):
- UserInterface/Views/TimelineRecordingContentView.js:
(WI.TimelineRecordingContentView):
(WI.TimelineRecordingContentView.prototype._handleTimelineViewScannerTimeDidChange):
(WI.TimelineRecordingContentView.prototype._handleTimelineViewScannerDidClear):
Update the overview's ruler with scanner changes.
- UserInterface/Views/TimelineRuler.css:
(.timeline-ruler > .markers > .marker.scanner):
- UserInterface/Views/TimelineRuler.js:
(WI.TimelineRuler):
(WI.TimelineRuler.prototype.clearMarkers):
(WI.TimelineRuler.prototype.updateScannerTime):
(WI.TimelineRuler.prototype.clearScanner):
(WI.TimelineRuler.prototype._updateMarkers):
Have a special scanner marker that updates.
- UserInterface/Views/TimelineView.js:
New events that a TimelineView can dispatch to update the overview.
- UserInterface/Views/Variables.css:
(:root):
(@media (prefers-color-scheme: dark)):
Scanner marker colors.
- 10:44 PM Changeset in webkit [242193] by
-
- 3 edits1 add in trunk
The parser is failing to record the token location of new in new.target.
https://bugs.webkit.org/show_bug.cgi?id=195127
<rdar://problem/39645578>
Reviewed by Yusuke Suzuki.
JSTests:
- stress/parser-should-record-token-location-of-new-dot-target.js: Added.
Source/JavaScriptCore:
Also adjust the token location for the following to be as shown:
new.target
super
import.meta
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseMemberExpression):
- 10:25 PM Changeset in webkit [242192] by
-
- 15 edits2 adds in trunk
[JSC] mustHandleValues for dead bytecode locals should be ignored in DFG phases
https://bugs.webkit.org/show_bug.cgi?id=195144
<rdar://problem/47595961>
Reviewed by Mark Lam.
JSTests:
- stress/read-dead-bytecode-locals-in-must-handle-values1.js: Added.
(bar):
(foo):
- stress/read-dead-bytecode-locals-in-must-handle-values2.js: Added.
(bar):
(foo):
Source/JavaScriptCore:
DFGMaximalFlushInsertionPhase inserts Flush for all the locals at the end of basic blocks. This enlarges the live ranges of
locals in DFG, and it sometimes makes DFG value live while it is dead in bytecode. The issue happens when we use mustHandleValues
to widen AbstractValue in CFAPhase. At that time, DFG tells "this value is live in DFG", but it may be dead in the bytecode level.
At that time, we attempt to merge AbstractValue with dead mustHandleValue, which is cleared as jsUndefined() in
DFG::Plan::cleanMustHandleValuesIfNecessary before start compilation, and crash because jsUndefined() may be irrelevant to the FlushFormat
in VariableAccessData.
This patch makes the type of mustHandleValues Operands<Optional<JSValue>>. We clear dead JSValues in DFG::Plan::cleanMustHandleValuesIfNecessary.
And we skip handling dead mustHandleValue in DFG phases.
- bytecode/Operands.h:
(JSC::Operands::isLocal const):
(JSC::Operands::isVariable const): Deleted.
- dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::injectOSR):
- dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
(JSC::DFG::compile):
- dfg/DFGDriver.h:
- dfg/DFGJITCode.cpp:
(JSC::DFG::JITCode::reconstruct):
- dfg/DFGJITCode.h:
- dfg/DFGOperations.cpp:
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::Plan):
(JSC::DFG::Plan::checkLivenessAndVisitChildren):
(JSC::DFG::Plan::cleanMustHandleValuesIfNecessary):
- dfg/DFGPlan.h:
(JSC::DFG::Plan::mustHandleValues const):
- dfg/DFGPredictionInjectionPhase.cpp:
(JSC::DFG::PredictionInjectionPhase::run):
- dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::disableHoistingAcrossOSREntries):
- ftl/FTLOSREntry.cpp:
(JSC::FTL::prepareOSREntry):
- jit/JITOperations.cpp:
- 9:27 PM Changeset in webkit [242191] by
-
- 3 edits in trunk/LayoutTests
fast/scrolling/ios/hit-testing-iframe-002.html always fails
https://bugs.webkit.org/show_bug.cgi?id=195108
Reviewed by Frédéric Wang.
Errant ; in this.style.background='green;'
- fast/scrolling/ios/hit-testing-iframe-002.html:
- platform/ios-wk2/TestExpectations:
- 8:39 PM Changeset in webkit [242190] by
-
- 5 edits1 move1 delete in trunk/Source/WebCore
[ContentChangeObserver] Move WKSetObservedContentChange logic to ContentChangeObserver class.
https://bugs.webkit.org/show_bug.cgi?id=195128
<rdar://problem/48456752>
Reviewed by Simon Fraser.
Move the final bits over to ContentChangeObserver and delete WKContentObservationInternal.h.
- WebCore.xcodeproj/project.pbxproj:
- page/ios/ContentChangeObserver.mm:
(WebCore::ContentChangeObserver::setObservedContentChange):
- platform/ios/wak/WKContentObservation.cpp:
(WKSetObservedContentChange):
- platform/ios/wak/WKContentObservation.h:
- platform/ios/wak/WKContentObservationInternal.h: Removed.
- 8:35 PM Changeset in webkit [242189] by
-
- 27 edits in trunk/Source
Roll out r242014; it caused crashes in compositing logging (webkit.org/b/195141)
Source/JavaScriptCore:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::nameForRegister):
Source/WebCore:
- dom/Document.cpp:
(WebCore::Document::lastModified const):
- html/FTPDirectoryDocument.cpp:
(WebCore::processFileDateString):
- mathml/MathMLElement.cpp:
(WebCore::convertToPercentageIfNeeded):
(WebCore::MathMLElement::collectStyleForPresentationAttribute):
- page/cocoa/ResourceUsageOverlayCocoa.mm:
(WebCore::ResourceUsageOverlay::platformDraw):
- page/linux/ResourceUsageOverlayLinux.cpp:
(WebCore::cpuUsageString):
(WebCore::gcTimerString):
- platform/DateComponents.cpp:
(WebCore::DateComponents::toStringForTime const):
(WebCore::DateComponents::toString const):
- platform/LocalizedStrings.cpp:
(WebCore::localizedString):
- platform/audio/HRTFElevation.cpp:
(WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::drawText):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::formatMediaControlsTime const):
Source/WebKit:
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::getAssertion):
Source/WebKitLegacy/win:
- FullscreenVideoController.cpp:
(timeToString):
Source/WTF:
- wtf/Assertions.cpp:
(WTF::createWithFormatAndArguments): Deleted.
- wtf/HexNumber.h:
(WTF::StringTypeAdapter<HexNumberBuffer>::toString const):
- wtf/text/StringConcatenate.h:
(WTF::makeString):
(WTF::pad): Deleted.
(WTF::StringTypeAdapter<PaddingSpecification<UnderlyingAdapterType>>::StringTypeAdapter): Deleted.
(WTF::StringTypeAdapter<PaddingSpecification<UnderlyingAdapterType>>::length const): Deleted.
(WTF::StringTypeAdapter<PaddingSpecification<UnderlyingAdapterType>>::is8Bit const): Deleted.
(WTF::StringTypeAdapter<PaddingSpecification<UnderlyingAdapterType>>::writeTo const): Deleted.
- wtf/text/StringConcatenateNumbers.h:
(WTF::FormattedNumber::fixedPrecision):
(WTF::FormattedNumber::fixedWidth):
(WTF::StringTypeAdapter<FormattedNumber>::toString const):
- wtf/text/StringOperators.h:
(WTF::StringAppend::StringAppend):
- wtf/text/StringView.h:
(WTF::StringView::invalidate):
- wtf/text/WTFString.cpp:
(WTF::createWithFormatAndArguments):
(WTF::String::format):
- wtf/text/WTFString.h:
- 7:42 PM Changeset in webkit [242188] by
-
- 2 edits in trunk/Tools
Flaky API Test: TestWebKitAPI.ServiceWorkers.ServiceWorkerAndCacheStorageSpecificDirectories
https://bugs.webkit.org/show_bug.cgi?id=194959
Reviewed by Chris Dumez.
Spin loop until getting the condition to remove flakiness.
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
- 6:37 PM Changeset in webkit [242187] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, fix -Wformat warning
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCompletePageTransition):
- 6:22 PM Changeset in webkit [242186] by
-
- 2 edits4 adds4 deletes in trunk/LayoutTests
Unreviewed GTK test gardening
https://bugs.webkit.org/show_bug.cgi?id=195138
- platform/gtk/TestExpectations:
- platform/gtk/compositing/visibility/root-visibility-toggle-expected.txt: Added.
- platform/gtk/editing/deleting/smart-delete-001-expected.txt: Removed.
- platform/gtk/editing/deleting/smart-delete-002-expected.txt: Removed.
- platform/gtk/editing/deleting/smart-delete-003-expected.txt: Removed.
- platform/gtk/editing/deleting/smart-delete-004-expected.txt: Removed.
- platform/gtk/fast/css/apple-system-colors-expected.txt: Added.
- platform/gtk/fast/text/ja-sans-serif-expected.png: Added.
- platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt: Added.
- 5:47 PM Changeset in webkit [242185] by
-
- 2 edits in trunk/Tools
[ews-build] Buildbot should include builder_display_name in the build events
https://bugs.webkit.org/show_bug.cgi?id=195045
Reviewed by Dewei Zhu.
- BuildSlaveSupport/ews-build/events.py:
(Events.buildStarted): Included builder_display_name in event data. Also renamed
buildername to builder_name to be consistent in naming style.
(Events.buildFinished): Ditto.
- 4:58 PM Changeset in webkit [242184] by
-
- 6 edits in trunk/Source/WebCore
[ContentChangeObserver] Move _WKObservingContentChanges from global to ContentChangeObserver class
https://bugs.webkit.org/show_bug.cgi?id=195091
<rdar://problem/48427271>
Reviewed by Tim Horton.
- page/ios/ContentChangeObserver.h:
- page/ios/ContentChangeObserver.mm:
(WebCore::ContentChangeObserver::startObservingContentChanges):
(WebCore::ContentChangeObserver::stopObservingContentChanges):
(WebCore::ContentChangeObserver::isObservingContentChanges):
- platform/ios/wak/WKContentObservation.cpp:
(WKObservingContentChanges): Deleted.
(WKStartObservingContentChanges): Deleted.
(WKStopObservingContentChanges): Deleted.
- platform/ios/wak/WKContentObservation.h:
- platform/ios/wak/WKContentObservationInternal.h:
- 4:57 PM Changeset in webkit [242183] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION: Crash beneath ResourceLoadObserver::logSubresourceLoading
https://bugs.webkit.org/show_bug.cgi?id=195072
Reviewed by Ryosuke Niwa.
ResourceLoadObserver and WebProcess should exist as long as the web page (process) is running. However,
the NetworkProcess connection can close for a variety of reasons. If the ResourceLoadObserver observes
a load or user gesture in the WebProcess, we should attempt to reconnect to the NetworkProcess (if it
was disconnected), just like we do for other message send cases.
This patch switches from using the m_networkProcessConnection member (which might be null) to use the
'ensureNetworkProcessConnection' accessor which ensures we have a valid connection for message sends.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
- 4:54 PM Changeset in webkit [242182] by
-
- 15 edits in trunk
Flaky API Test: TestWebKitAPI.ProcessSwap.SessionStorage
https://bugs.webkit.org/show_bug.cgi?id=194480
Reviewed by Brady Eidson.
Source/WebKit:
The StorageManager would only start listening for IPC on a given connection when
StorageManager::processWillOpenConnection() is called. This gets called from
WebsiteDataStore::webProcessWillOpenConnection() which gets called from
WebProcessLifetimeTracker::webPageEnteringWebProcess().
webPageEnteringWebProcess() was called in WebPageProxy::finishAttachingToWebProcess()
after process-swapping. This means that IPC comming from the *provisional* process
would not get processed and we would only start processing IPC on the provisional
process's connection when it would get committed.
To address the issue, this patch teaches WebProcessLifetimeTracker that a page can
now have several processes. We also make sure that webPageEnteringWebProcess() gets
called for the provisional process as soon as we create the provisional page, instead
of waiting for it to get committed.
- UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::ProvisionalPageProxy):
(WebKit::ProvisionalPageProxy::~ProvisionalPageProxy):
(WebKit::ProvisionalPageProxy::connectionWillOpen):
- UIProcess/ProvisionalPageProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::finishAttachingToWebProcess):
(WebKit::WebPageProxy::connectionWillOpen):
(WebKit::WebPageProxy::webProcessWillShutDown):
(WebKit::WebPageProxy::processDidTerminate):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::webProcessLifetimeTracker):
- UIProcess/WebProcessLifetimeObserver.cpp:
(WebKit::WebProcessLifetimeObserver::addWebPage):
(WebKit::WebProcessLifetimeObserver::removeWebPage):
- UIProcess/WebProcessLifetimeObserver.h:
- UIProcess/WebProcessLifetimeTracker.cpp:
(WebKit::WebProcessLifetimeTracker::addObserver):
(WebKit::WebProcessLifetimeTracker::webPageEnteringWebProcess):
(WebKit::WebProcessLifetimeTracker::webPageLeavingWebProcess):
(WebKit::WebProcessLifetimeTracker::pageWasInvalidated):
(WebKit::WebProcessLifetimeTracker::processIsRunning):
- UIProcess/WebProcessLifetimeTracker.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::connectionWillOpen):
- UIProcess/WebStorage/StorageManager.cpp:
(WebKit::StorageManager::SessionStorageNamespace::allowedConnections const):
(WebKit::StorageManager::SessionStorageNamespace::addAllowedConnection):
(WebKit::StorageManager::SessionStorageNamespace::removeAllowedConnection):
(WebKit::StorageManager::addAllowedSessionStorageNamespaceConnection):
(WebKit::StorageManager::removeAllowedSessionStorageNamespaceConnection):
(WebKit::StorageManager::processWillOpenConnection):
(WebKit::StorageManager::processDidCloseConnection):
(WebKit::StorageManager::createSessionStorageMap):
(WebKit::StorageManager::SessionStorageNamespace::allowedConnection const): Deleted.
(WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection): Deleted.
(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection): Deleted.
- UIProcess/WebStorage/StorageManager.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::webPageWillOpenConnection):
(WebKit::WebsiteDataStore::webPageDidCloseConnection):
Tools:
Update existing API test to make it more likely to reproduce the issue.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 4:50 PM Changeset in webkit [242181] by
-
- 6 edits in trunk
Universal links from Google search results pages don't open the app.
<rdar://problem/46887179> and https://bugs.webkit.org/show_bug.cgi?id=195126
Reviewed by Geoffrey Garen.
Source/WebCore:
Covered by new API tests.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::shouldOpenExternalURLsPolicyToPropagate const): Propagate the external URL policy from
an iframe if it is from the same security origin as the main frame.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ShouldOpenExternalURLsInNewWindowActions.mm:
- TestWebKitAPI/cocoa/TestNavigationDelegate.h:
- TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[TestNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
- 4:47 PM Changeset in webkit [242180] by
-
- 2 edits in trunk/Tools
Flaky API Test: TestWebKitAPI.ProcessSwap.NumberOfCachedProcesses
https://bugs.webkit.org/show_bug.cgi?id=195102
Reviewed by Geoffrey Garen.
If the number of processes is not yet what we expect, wait a bit and check again to give
processes some time to exit.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 4:43 PM Changeset in webkit [242179] by
-
- 2 edits in trunk/Tools
Flaky API Test: TestWebKitAPI.ProcessSwap.NavigateToDataURLThenBack
https://bugs.webkit.org/show_bug.cgi?id=194545
Reviewed by Brady Eidson.
Make sure the test navigates forward and then back only once. Previously, navigating
back would trigger a navigation again in a timer.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 4:19 PM Changeset in webkit [242178] by
-
- 1 copy in tags/Safari-607.1.40.1.1
Tag Safari-607.1.40.1.1.
- 4:13 PM Changeset in webkit [242177] by
-
- 1 copy in tags/Safari-607.1.40.0.1
Tag Safari-607.1.40.0.1.
- 4:08 PM Changeset in webkit [242176] by
-
- 6 edits in trunk/Source/WebCore
[ContentChangeObserver] Move DOMTimer schedule handling from global to ContentChangeObserver class
https://bugs.webkit.org/show_bug.cgi?id=195090
<rdar://problem/48426771>
Reviewed by Tim Horton.
Also remove some unused functions from WKContentObservationInternal.
- page/ios/ContentChangeObserver.h:
- page/ios/ContentChangeObserver.mm:
(WebCore::ContentChangeObserver::startObservingDOMTimerScheduling):
(WebCore::ContentChangeObserver::stopObservingDOMTimerScheduling):
(WebCore::ContentChangeObserver::isObservingDOMTimerScheduling):
- platform/ios/wak/WKContentObservation.cpp:
(WKStartObservingDOMTimerScheduling): Deleted.
(WKStopObservingDOMTimerScheduling): Deleted.
(WKIsObservingDOMTimerScheduling): Deleted.
- platform/ios/wak/WKContentObservation.h:
- platform/ios/wak/WKContentObservationInternal.h:
- 4:02 PM Changeset in webkit [242175] by
-
- 12 edits in branches/safari-607.1.40.1-branch
Apply patch. rdar://problem/48429602
- 3:54 PM Changeset in webkit [242174] by
-
- 18 edits in trunk/Source/WebInspectorUI
Web Inspector: Use Element.closest for internal code
https://bugs.webkit.org/show_bug.cgi?id=173747
Reviewed by Joseph Pecoraro.
Replace usage of added utility functions on the
Nodeprototype with the built-in
Element.prototype.closestas it's more flexible and is capable of doing the same thing.
- UserInterface/Base/Utilities.js:
(Node.prototype.enclosingNodeOrSelfWithClass): Deleted.
(Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Deleted.
(Node.prototype.enclosingNodeOrSelfWithNodeName): Deleted.
- UserInterface/Base/Main.js:
(WI.handlePossibleLinkClick):
(WI._focusedContentBrowser):
- UserInterface/Views/CPUTimelineView.js:
(WI.CPUTimelineView.prototype._graphPositionForMouseEvent):
- UserInterface/Views/CompletionSuggestionsView.js:
(WI.CompletionSuggestionsView.prototype.set selectedIndex):
(WI.CompletionSuggestionsView.prototype.update):
(WI.CompletionSuggestionsView.prototype._itemClicked):
- UserInterface/Views/ConsoleGroup.js:
(WI.ConsoleGroup.prototype._titleClicked):
- UserInterface/Views/DOMTreeContentView.js:
(WI.DOMTreeContentView.prototype._mouseWasClicked):
- UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement.prototype._startEditingTarget):
(WI.DOMTreeElement.prototype._populateTagContextMenu):
- UserInterface/Views/DOMTreeOutline.js:
(WI.DOMTreeOutline.prototype.populateContextMenu):
- UserInterface/Views/DataGrid.js:
(WI.DataGrid.prototype._startEditing):
(WI.DataGrid.prototype._editingCancelled):
(WI.DataGrid.prototype.dataGridNodeFromNode):
(WI.DataGrid.prototype.dataGridNodeFromPoint):
(WI.DataGrid.prototype._headerCellClicked):
(WI.DataGrid.prototype._mouseoverColumnCollapser):
(WI.DataGrid.prototype._mouseoutColumnCollapser):
(WI.DataGrid.prototype._clickInColumnCollapser):
(WI.DataGrid.prototype._contextMenuInHeader):
(WI.DataGrid.prototype._contextMenuInDataTable):
- UserInterface/Views/DataGridNode.js:
(WI.DataGridNode.prototype.isEventWithinDisclosureTriangle):
- UserInterface/Views/LegacyTabBar.js:
(WI.LegacyTabBar.prototype._handleMouseDown):
(WI.LegacyTabBar.prototype._handleClick):
- UserInterface/Views/LogContentView.js:
(WI.LogContentView.prototype._handleContextMenuEvent):
(WI.LogContentView.prototype._mousedown):
(WI.LogContentView.prototype._targetInMessageCanBeSelected):
(WI.LogContentView.prototype._mousemove):
(WI.LogContentView.prototype._mouseup):
(WI.LogContentView.prototype._ondragstart):
- UserInterface/Views/NavigationBar.js:
(WI.NavigationBar.prototype._mouseDown):
(WI.NavigationBar.prototype._mouseMoved):
- UserInterface/Views/Popover.js:
(WI.Popover.prototype.handleEvent):
- UserInterface/Views/TabBar.js:
(WI.TabBar.prototype._handleMouseDown):
(WI.TabBar.prototype._handleClick):
- UserInterface/Views/Table.js:
(WI.Table.prototype._handleMouseDown):
(WI.Table.prototype._handleContextMenu):
- UserInterface/Views/TreeOutline.js:
(WI.TreeOutline.prototype.treeElementFromNode):
- 3:54 PM Changeset in webkit [242173] by
-
- 4 edits2 adds in trunk
[iOS] Web pages shouldn't be able to present a keyboard after the web view resigns first responder
https://bugs.webkit.org/show_bug.cgi?id=195118
<rdar://problem/43411940>
Reviewed by Tim Horton.
Source/WebKit:
It's currently possible for websites to redirect focus into an editable element on the page by programmatically
requesting focus within the "blur" event handler. This is because our current heuristics:
(1) Allow programmatic focus to show the keyboard when an element is already focused; this is meant to handle
the case where the page moves focus between different elements on the page.
(2) And also allow programmatic focus to show the keyboard when changing activity state; this is meant to handle
the case where a focused element should show the keyboard when first responder is restored on a web view
(e.g. in the case where a modal view controller is dismissed, and the web view regains first responder once
again).
In both of these scenarios, we actually only want the keyboard to appear if the web view itself is either
becoming the first responder, or is already the first responder. Importantly, when blurring the focused element
by calling -[WKWebViewe resignFirstResponder] (as is the case when dismissing the keyboard by tapping 'Done' or
focusing other platform UI), we don't want to allow the page to show the keyboard due to element focus.
To fix this issue, we enforce that we're either becoming the first responder or already are the first responder
before showing the keyboard due to activity state change or focused element change.
Test: fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView textInputTraits]):
Quick drive-by tweak: rename _isBlurringFocusedNode to _isBlurringFocusedElement, to match the rest of the
terminology used in WebKit.
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]):
Make our heuristics for determining whether to show the keyboard a tiny bit easier to follow, by moving the
logic into a lambda function and using early returns. See above for more details.
(-[WKContentView _elementDidBlur]):
(-[WKContentView focusedFormControllerDidUpdateSuggestions:]):
LayoutTests:
Add a test to verify that after resigning first responder (e.g. tapping 'Done' on the keyboard, or focusing a
native input field elsewhere in the app), the page cannot force the keyboard to appear by focusing an input
field.
- fast/events/ios/do-not-show-keyboard-when-focusing-after-blur-expected.txt: Added.
- fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: Added.
- 3:52 PM Changeset in webkit [242172] by
-
- 4 edits in branches/safari-607.1.40.1-branch
Cherry-pick r242089. rdar://problem/48445620
WebPageProxy should nullify m_userMediaPermissionRequestManager after resetting the media state
https://bugs.webkit.org/show_bug.cgi?id=195028
<rdar://problem/48243733>
Reviewed by Eric Carlson.
Source/WebKit:
Covered by API test.
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetState):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242089 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:45 PM Changeset in webkit [242171] by
-
- 3 edits in tags/Safari-607.1.39.0.1/Source/WebKit
Cherry-pick r242098. rdar://problem/48400927
[iOS] REGRESSION(r238490?): Safari sometimes shows blank page until a cross site navigation or re-opening the tab
https://bugs.webkit.org/show_bug.cgi?id=195037
<rdar://problem/48154508>
Reviewed by Antti Koivisto.
Restore the pre-r238490 behavior of WebPage::didCompletePageTransition clearing LayerTreeFreezeReason::ProcessSuspended
as this has been an issue when I was able to reproduce the issue locally.
Also added release logging to help diagnose the issue in the future.
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::didCompletePageTransition):
- WebProcess/WebProcess.cpp: (WebKit::WebProcess::freezeAllLayerTrees): (WebKit::WebProcess::unfreezeAllLayerTrees):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:43 PM Changeset in webkit [242170] by
-
- 7 edits in tags/Safari-607.1.39.0.1/Source
Versioning.
- 3:31 PM Changeset in webkit [242169] by
-
- 1 copy in tags/Safari-607.1.39.0.1
New tag.
- 3:30 PM Changeset in webkit [242168] by
-
- 1 delete in tags/Safari-607.1.39.0
Delete tag.
- 3:29 PM Changeset in webkit [242167] by
-
- 5 edits in trunk/Source/WebCore
[ContentChangeObserver] Move style recalc handling from global to ContentChangeObserver class
https://bugs.webkit.org/show_bug.cgi?id=195087
Reviewed by Simon Fraser.
Add m_observingNextStyleRecalc/m_observingStyleRecalcScheduling to ContentChangeObserver and move the related code over from WK functions.
- page/ios/ContentChangeObserver.h:
- page/ios/ContentChangeObserver.mm:
(WebCore::ContentChangeObserver::startObservingStyleRecalcScheduling):
(WebCore::ContentChangeObserver::stopObservingStyleRecalcScheduling):
(WebCore::ContentChangeObserver::isObservingStyleRecalcScheduling):
(WebCore::ContentChangeObserver::setShouldObserveNextStyleRecalc):
(WebCore::ContentChangeObserver::shouldObserveNextStyleRecalc):
(WebCore::ContentChangeObserver::setObservedContentChange):
- platform/ios/wak/WKContentObservation.cpp:
(WKSetObservedContentChange):
(WKStartObservingStyleRecalcScheduling): Deleted.
(WKStopObservingStyleRecalcScheduling): Deleted.
(WKIsObservingStyleRecalcScheduling): Deleted.
(WKSetShouldObserveNextStyleRecalc): Deleted.
(WKShouldObserveNextStyleRecalc): Deleted.
- platform/ios/wak/WKContentObservation.h:
- 3:20 PM Changeset in webkit [242166] by
-
- 5 edits in trunk/Source/WebCore
[ContentChangeObserver] Move DOM timer handling from global to ContentChangeObserver class
https://bugs.webkit.org/show_bug.cgi?id=195070
<rdar://problem/48417650>
Reviewed by Tim Horton.
Add DOM timer list to ContentChangeObserver and move the related code over from WK functions.
- page/ios/ContentChangeObserver.h:
- page/ios/ContentChangeObserver.mm:
(WebCore::ContentChangeObserver::startObservingDOMTimerScheduling):
(WebCore::ContentChangeObserver::countOfObservedDOMTimers):
(WebCore::ContentChangeObserver::clearObservedDOMTimers):
(WebCore::ContentChangeObserver::setObservedContentChange):
(WebCore::ContentChangeObserver::containsObservedDOMTimer):
(WebCore::ContentChangeObserver::addObservedDOMTimer):
(WebCore::ContentChangeObserver::removeObservedDOMTimer):
- platform/ios/wak/WKContentObservation.cpp:
(WKStartObservingDOMTimerScheduling):
(WKSetObservedContentChange):
(WebThreadGetObservedDOMTimers): Deleted.
(WebThreadCountOfObservedDOMTimers): Deleted.
(WebThreadClearObservedDOMTimers): Deleted.
(WebThreadContainsObservedDOMTimer): Deleted.
(WebThreadAddObservedDOMTimer): Deleted.
(WebThreadRemoveObservedDOMTimer): Deleted.
- platform/ios/wak/WKContentObservation.h:
- 3:11 PM Changeset in webkit [242165] by
-
- 7 edits in tags/Safari-607.1.39.0/Source
Versioning.
- 3:09 PM Changeset in webkit [242164] by
-
- 8 edits in trunk/Source/WebCore
Fix build errors after Web GPU buffer updates changed some IDL fields from unsigned long to unsigned long long.
Unreviewed build fix.
- Modules/webgpu/WebGPUBuffer.cpp:
(WebCore::WebGPUBuffer::setSubData):
- Modules/webgpu/WebGPUBuffer.h:
- Modules/webgpu/WebGPUBufferBinding.h:
- Modules/webgpu/WebGPURenderPassEncoder.idl:
- platform/graphics/gpu/GPUBufferBinding.h:
- platform/graphics/gpu/GPUVertexAttributeDescriptor.h:
- platform/graphics/gpu/GPUVertexInputDescriptor.h:
- 2:59 PM Changeset in webkit [242163] by
-
- 14 edits in releases/WebKitGTK/webkit-2.24
Merged r242055 - [WPE] Bump WPEBackend-fdo requirement to API version 1.0
https://bugs.webkit.org/show_bug.cgi?id=195001
Reviewed by Carlos Garcia Campos.
.:
- Source/cmake/FindWPEBackend-fdo.cmake: Use WPEBackend-fdo-1.0.
- Source/cmake/OptionsWPE.cmake: Ditto.
Source/WebKit:
API version 1.0 always includes the functionality previously guarded with
WPE_BACKEND_CHECK_VERSION(): remove the guards and always use the new functions
unconditionally.
- UIProcess/API/wpe/WPEView.cpp:
(WKWPE::View::View): Remove usage of WPE_BACKEND_CHECK_VERSION().
(WKWPE::m_backend): Ditto.
- UIProcess/API/wpe/qt/WPEQtViewBackend.cpp:
(WPEQtViewBackend::WPEQtViewBackend): Use libWPEBackend-fdo-1.0 as
library name, remove call to wpe_fdo_initialize_for_egl_display().
(WPEQtViewBackend::create): Call wpe_fdo_initialize_for_egl_display()
here, to bail out early in case initialization fails.
- UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess): Remove usage of
WPE_BACKEND_CHECK_VERSION().
Tools:
API version 1.0 always includes the functionality previously guarded with
WPE_BACKEND_CHECK_VERSION(): remove the guards and always use the new functions
unconditionally.
- TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::createWebViewBackend): Remove usage of WPE_BACKEND_CHECK_VERSION().
- TestWebKitAPI/glib/WebKitGLib/wpe/WebViewTestWPE.cpp:
(WebViewTest::showInWindow): Ditto.
(WebViewTest::hideView): Ditto.
- wpe/backends/HeadlessViewBackend.cpp:
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): Ditto.
- wpe/backends/ViewBackend.cpp:
(WPEToolingBackends::ViewBackend::ViewBackend): Use libWPEBackend-fdo-1.0 as library name.
- wpe/backends/WindowViewBackend.cpp:
(WPEToolingBackends::WindowViewBackend::WindowViewBackend): Remove usage of
WPE_BACKEND_CHECK_VERSION().
- wpe/jhbuild.modules: Build a version WPEBackend-fdo with the updated API version.
- 2:57 PM Changeset in webkit [242162] by
-
- 1 copy in tags/Safari-607.1.39.0
New tag.
- 2:24 PM Changeset in webkit [242161] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(r242118): Debugger: event breakpoints have no icon
https://bugs.webkit.org/show_bug.cgi?id=195119
Reviewed by Matt Baker.
- UserInterface/Views/EventBreakpointTreeElement.js:
(WI.EventBreakpointTreeElement):
- 1:51 PM Changeset in webkit [242160] by
-
- 7 edits in branches/safari-607.1.40.2-branch/Source
Versioning.
- 1:49 PM Changeset in webkit [242159] by
-
- 7 edits in branches/safari-607.1.40.1-branch/Source
Versioning.
- 1:46 PM Changeset in webkit [242158] by
-
- 7 edits in branches/safari-607.1.40.0-branch/Source
Versioning.
- 1:42 PM Changeset in webkit [242157] by
-
- 7 edits in branches/safari-607-branch/Source
Versioning.
- 1:37 PM Changeset in webkit [242156] by
-
- 8 edits in trunk/Tools
High Sierra Debug JSC test queue should use faster hardware
https://bugs.webkit.org/show_bug.cgi?id=194603
Rubber-stamped by Alexey Proskuryakov.
Adjust queues to free up faster hardware for use on the High Sierra Debug JSC queue.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer):
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
- BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
- QueueStatusServer/config/queues.py:
- Scripts/webkitpy/common/config/ews.json:
- Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(test_ews_name):
- 1:34 PM Changeset in webkit [242155] by
-
- 41 edits in trunk
Adopt WebCore::RegistrableDomain in WebCore::ResourceLoadStatistics and WebKit::NetworkProcessProxy
https://bugs.webkit.org/show_bug.cgi?id=195071
<rdar://problem/48417690>
Reviewed by Alex Christensen and Brent Fulgham.
Source/WebCore:
No new tests. This patch maintains functionality covered by plenty of layout
tests under http/tests/resourceLoadStatistics/ and http/tests/storageAccess.
This patch adopts WebCore::RegistrableDomain in WebCore::ResourceLoadStatistics
and makes the necessary infrastructure changes to support that.
The previous HashCountedSets in WebCore::ResourceLoadStatistics are now just
HashSets since we never used the counts for anything. This change simplified
encoding and decoding for IPC and will eventually simplify encoding and
decoding in loader/ResourceLoadStatistics.cpp when we obsolete statistics
model version 14 and below.
The patch also makes WebCore::RegistrableDomain's String constructor private.
A new create function WebCore::RegistrableDomain::uncheckedCreateFromString()
is introduced to better signal to users that creating a registrable domain
object with a string may create an object that doesn't match a registrable
domain in a valid HTTP-family URL. This change (private String constructor)
motivated a change in WebCore::AdClickAttribution where the Source and
Destination structs now take a URL as parameter instead of a String.
Finally, this patch harmonizes parameter and variable naming, going from
"origin" to "domain" and "mainFrame" to "topFrame."
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parseAdClickAttribution const):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaSessionTitle const):
- loader/AdClickAttribution.h:
(WebCore::AdClickAttribution::Source::Source):
(WebCore::AdClickAttribution::Source::deletedValue):
(WebCore::AdClickAttribution::Destination::Destination):
(WebCore::AdClickAttribution::Destination::deletedValue):
(WebCore::AdClickAttribution::decode):
- loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::logSubresourceLoading):
(WebCore::ResourceLoadObserver::logWebSocketLoading):
(WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution):
(WebCore::ResourceLoadObserver::statisticsForURL):
(WebCore::ResourceLoadObserver::statisticsForOrigin): Deleted.
- loader/ResourceLoadObserver.h:
- loader/ResourceLoadStatistics.cpp:
(WebCore::encodeHashSet):
(WebCore::ResourceLoadStatistics::encode const):
(WebCore::decodeHashCountedSet):
(WebCore::decodeHashSet):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::appendHashSet):
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::ResourceLoadStatistics::merge):
(WebCore::encodeHashCountedSet): Deleted.
(WebCore::encodeOriginHashSet): Deleted.
(WebCore::decodeOriginHashSet): Deleted.
(WebCore::appendHashCountedSet): Deleted.
- loader/ResourceLoadStatistics.h:
- platform/RegistrableDomain.h:
(WebCore::RegistrableDomain::uncheckedCreateFromString):
(WebCore::RegistrableDomain::RegistrableDomain):
- testing/Internals.cpp:
(WebCore::Internals::resourceLoadStatisticsForURL):
(WebCore::Internals::resourceLoadStatisticsForOrigin): Deleted.
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
This patch adopts WebCore::RegistrableDomain in WebKit::NetworkProcessProxy
and makes the necessary infrastructure changes to support that.
The previous HashCountedSets in WebCore::ResourceLoadStatistics are now just
HashSets since we never used the counts for anything. This change simplified
the IPC::ArgumentCoder<ResourceLoadStatistics> encode and decode functions.
The patch also makes WebCore::RegistrableDomain's String constructor private.
A new create function WebCore::RegistrableDomain::uncheckedCreateFromString()
is introduced to better signal to users that creating a registrable domain
object with a string may create an object that doesn't match a registrable
domain in a valid HTTP-family URL.
Finally, this patch harmonizes parameter and variable naming, going from
"origin" to "domain" and "mainFrame" to "topFrame."
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::removeDataRecords):
(WebKit::ResourceLoadStatisticsMemoryStore::recursivelyGetAllDomainsThatHaveRedirectedToThisDomain const):
(WebKit::ResourceLoadStatisticsMemoryStore::markAsPrevalentIfHasRedirectedToPrevalent):
(WebKit::ResourceLoadStatisticsMemoryStore::grantStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::grantStorageAccessInternal):
(WebKit::ResourceLoadStatisticsMemoryStore::logFrameNavigation):
(WebKit::ResourceLoadStatisticsMemoryStore::logSubresourceLoading):
(WebKit::ResourceLoadStatisticsMemoryStore::logSubresourceRedirect):
(WebKit::ResourceLoadStatisticsMemoryStore::isRegisteredAsSubresourceUnder const):
(WebKit::ResourceLoadStatisticsMemoryStore::isRegisteredAsSubFrameUnder const):
(WebKit::ResourceLoadStatisticsMemoryStore::isRegisteredAsRedirectingTo const):
(WebKit::ResourceLoadStatisticsMemoryStore::setSubframeUnderTopFrameDomain):
(WebKit::ResourceLoadStatisticsMemoryStore::setSubresourceUnderTopFrameDomain):
(WebKit::ResourceLoadStatisticsMemoryStore::setSubresourceUniqueRedirectTo):
(WebKit::ResourceLoadStatisticsMemoryStore::setSubresourceUniqueRedirectFrom):
(WebKit::ResourceLoadStatisticsMemoryStore::setTopFrameUniqueRedirectTo):
(WebKit::ResourceLoadStatisticsMemoryStore::setTopFrameUniqueRedirectFrom):
(WebKit::ResourceLoadStatisticsMemoryStore::createEncoderFromData const):
(WebKit::ResourceLoadStatisticsMemoryStore::hasUserGrantedStorageAccessThroughPrompt):
(WebKit::ResourceLoadStatisticsMemoryStore::hasHadUnexpiredRecentUserInteraction const):
(WebKit::ResourceLoadStatisticsMemoryStore::setSubframeUnderTopFrameOrigin): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setSubresourceUnderTopFrameOrigin): Deleted.
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::requestStorageAccessGranted):
(WebKit::WebResourceLoadStatisticsStore::setSubframeUnderTopFrameDomain):
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUnderTopFrameDomain):
(WebKit::WebResourceLoadStatisticsStore::deleteWebsiteDataForRegistrableDomainsInAllPersistentDataStores):
(WebKit::WebResourceLoadStatisticsStore::setSubframeUnderTopFrameOrigin): Deleted.
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUnderTopFrameOrigin): Deleted.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/Classifier/WebResourceLoadStatisticsTelemetry.cpp:
(WebKit::sortedPrevalentResourceTelemetry):
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::setSubframeUnderTopFrameDomain):
(WebKit::NetworkProcess::setSubresourceUnderTopFrameDomain):
(WebKit::filterForRegistrableDomains):
(WebKit::NetworkProcess::deleteWebsiteDataForRegistrableDomainsInAllPersistentDataStores):
(WebKit::NetworkProcess::registrableDomainsWithWebsiteData):
(WebKit::NetworkProcess::setSubframeUnderTopFrameOrigin): Deleted.
(WebKit::NetworkProcess::setSubresourceUnderTopFrameOrigin): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::deleteWebsiteDataForRegistrableDomainsInAllPersistentDataStores):
- NetworkProcess/NetworkSession.h:
- Platform/classifier/ResourceLoadStatisticsClassifier.cpp:
(WebKit::ResourceLoadStatisticsClassifier::calculateResourcePrevalence):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ResourceLoadStatistics>::encode):
(IPC::ArgumentCoder<ResourceLoadStatistics>::decode):
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreSetStatisticsSubframeUnderTopFrameOrigin):
(WKWebsiteDataStoreSetStatisticsSubresourceUnderTopFrameOrigin):
- UIProcess/Cocoa/ResourceLoadStatisticsMemoryStoreCocoa.mm:
(WebKit::ResourceLoadStatisticsMemoryStore::registerUserDefaultsIfNeeded):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::updatePrevalentDomainsToBlockCookiesFor):
(WebKit::NetworkProcessProxy::isPrevalentResource):
(WebKit::NetworkProcessProxy::isVeryPrevalentResource):
(WebKit::NetworkProcessProxy::setPrevalentResource):
(WebKit::NetworkProcessProxy::setPrevalentResourceForDebugMode):
(WebKit::NetworkProcessProxy::setVeryPrevalentResource):
(WebKit::NetworkProcessProxy::setLastSeen):
(WebKit::NetworkProcessProxy::clearPrevalentResource):
(WebKit::NetworkProcessProxy::logUserInteraction):
(WebKit::NetworkProcessProxy::hasHadUserInteraction):
(WebKit::NetworkProcessProxy::clearUserInteraction):
(WebKit::NetworkProcessProxy::setSubframeUnderTopFrameDomain):
(WebKit::NetworkProcessProxy::isRegisteredAsRedirectingTo):
(WebKit::NetworkProcessProxy::isRegisteredAsSubFrameUnder):
(WebKit::NetworkProcessProxy::setSubresourceUnderTopFrameDomain):
(WebKit::NetworkProcessProxy::isRegisteredAsSubresourceUnder):
(WebKit::NetworkProcessProxy::setSubresourceUniqueRedirectTo):
(WebKit::NetworkProcessProxy::setSubresourceUniqueRedirectFrom):
(WebKit::NetworkProcessProxy::setTopFrameUniqueRedirectTo):
(WebKit::NetworkProcessProxy::setTopFrameUniqueRedirectFrom):
(WebKit::NetworkProcessProxy::isGrandfathered):
(WebKit::NetworkProcessProxy::setGrandfathered):
(WebKit::NetworkProcessProxy::hasStorageAccessForFrame):
(WebKit::NetworkProcessProxy::hasStorageAccess):
(WebKit::NetworkProcessProxy::requestStorageAccess):
(WebKit::NetworkProcessProxy::requestStorageAccessConfirm):
(WebKit::NetworkProcessProxy::grantStorageAccess):
(WebKit::NetworkProcessProxy::setSubframeUnderTopFrameOrigin): Deleted.
(WebKit::NetworkProcessProxy::setSubresourceUnderTopFrameOrigin): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestStorageAccessConfirm):
- UIProcess/WebPageProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::isPrevalentResource):
(WebKit::WebsiteDataStore::setPrevalentResource):
(WebKit::WebsiteDataStore::setPrevalentResourceForDebugMode):
(WebKit::WebsiteDataStore::isVeryPrevalentResource):
(WebKit::WebsiteDataStore::setVeryPrevalentResource):
(WebKit::WebsiteDataStore::setSubframeUnderTopFrameDomain):
(WebKit::WebsiteDataStore::isRegisteredAsSubFrameUnder):
(WebKit::WebsiteDataStore::setSubresourceUnderTopFrameDomain):
(WebKit::WebsiteDataStore::isRegisteredAsSubresourceUnder):
(WebKit::WebsiteDataStore::setSubresourceUniqueRedirectTo):
(WebKit::WebsiteDataStore::setSubresourceUniqueRedirectFrom):
(WebKit::WebsiteDataStore::setTopFrameUniqueRedirectTo):
(WebKit::WebsiteDataStore::setTopFrameUniqueRedirectFrom):
(WebKit::WebsiteDataStore::isRegisteredAsRedirectingTo):
(WebKit::WebsiteDataStore::clearPrevalentResource):
(WebKit::WebsiteDataStore::setLastSeen):
(WebKit::WebsiteDataStore::hasStorageAccess):
(WebKit::WebsiteDataStore::requestStorageAccess):
(WebKit::WebsiteDataStore::grantStorageAccess):
(WebKit::WebsiteDataStore::logUserInteraction):
(WebKit::WebsiteDataStore::hasHadUserInteraction):
(WebKit::WebsiteDataStore::clearUserInteraction):
(WebKit::WebsiteDataStore::setGrandfathered):
(WebKit::WebsiteDataStore::setSubframeUnderTopFrameOrigin): Deleted.
(WebKit::WebsiteDataStore::setSubresourceUnderTopFrameOrigin): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::hasStorageAccess):
(WebKit::WebPage::requestStorageAccess):
Tools:
- TestWebKitAPI/Tests/WebCore/AdClickAttribution.cpp:
(TestWebKitAPI::createURL):
Convenience function.
(TestWebKitAPI::TEST):
WebCore::AdClickAttribution now takes a URL when creating Source and
Destination.
- TestWebKitAPI/Tests/WebCore/RegistrableDomain.cpp:
(TestWebKitAPI::TEST):
WebCore::AdClickAttribution now takes a URL when creating Source and
Destination.
LayoutTests:
- http/tests/navigation/resources/redirect-updates-history-item-done-statistics.html:
Changed from window.internals.resourceLoadStatisticsForOrigin() to
window.internals.resourceLoadStatisticsForURL() and now submit a URL.
- 1:29 PM Changeset in webkit [242154] by
-
- 7 edits in branches/safari-607-branch/Source
Versioning.
- 1:28 PM Changeset in webkit [242153] by
-
- 2 edits in trunk/Source/WebKit
Fix Xcode project UUIDs for TextCheckerCompletion.cpp and TextCheckerCompletion.h
https://bugs.webkit.org/show_bug.cgi?id=195109
<rdar://problem/48442272>
Reviewed by Alexey Proskuryakov.
In r144436, TextCheckerCompletion.cpp and TextCheckerCompletion.h were
added to WebKit2.xcodeproj with invalid UUIDs (they included Q's and
Z's in hexadecimal strings). While these UUIDs haven't caused any
problems in practice over the last six years, they are indeed invalid,
and were discovered via an Xcode-project processing tool that did not
anticipate their format. Fix this by removing the files from the
project and re-adding them.
- WebKit.xcodeproj/project.pbxproj:
- 1:26 PM Changeset in webkit [242152] by
-
- 1 copy in branches/safari-607.1.40.2-branch
New branch.
- 1:24 PM Changeset in webkit [242151] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Dark Mode: unreadable text in bezier curve editor numeric input fields
https://bugs.webkit.org/show_bug.cgi?id=195018
<rdar://problem/48378541>
Reviewed by Matt Baker.
Simplify some styles using
-webkit-*properties instead of[dir=ltr]/[dir=rtl]selectors.
- UserInterface/Views/BezierEditor.css:
(.bezier-editor):
(.bezier-editor > .bezier-preview):
(.bezier-editor > .bezier-preview-timing):
(.bezier-editor > .bezier-container .linear-curve):
(.bezier-editor > .bezier-container .bezier-curve):
(.bezier-editor > .bezier-container .control-line):
(.bezier-editor > .bezier-container .control-handle):
(.bezier-editor > .number-input-container):
(.bezier-editor > .number-input-container > input):
(body[dir=ltr] .bezier-editor > .bezier-preview-timing): Deleted.
(body[dir=rtl] .bezier-editor > .bezier-preview-timing): Deleted.
(body[dir=ltr] .bezier-editor > .number-input-container > input): Deleted.
(body[dir=rtl] .bezier-editor > .number-input-container > input): Deleted.
(@media (prefers-color-scheme: dark)): Deleted.
Remove all custom styling on any <input>s, as they look fine with their default styling.
- UserInterface/Views/SpringEditor.css:
(.spring-editor > .spring-preview):
(.spring-editor > .spring-preview > div):
(.spring-editor > .spring-timing > div):
- 1:23 PM Changeset in webkit [242150] by
-
- 7 edits in branches/safari-607-branch/Source
Versioning.
- 1:14 PM Changeset in webkit [242149] by
-
- 1 copy in branches/safari-607.1.40.1-branch
New branch.
- 1:10 PM Changeset in webkit [242148] by
-
- 33 edits1 copy4 adds in trunk
[Web GPU] Buffer updates part 2: setSubData, GPU/CPU synchronization
https://bugs.webkit.org/show_bug.cgi?id=195077
<rdar://problem/47805229>
Reviewed by Dean Jackson.
Source/WebCore:
Implement GPUBuffer.setSubData and prevent the resolving of mapping promises if the buffer is scheduled to be
used on the GPU, and add handlers to resolve such promises after command buffer execution completes. In addition,
update buffer sizes to u64 (unsigned long in C++) as per the updated Web GPU API.
Tests: webgpu/buffer-command-buffer-races.html
webgpu/map-read-buffers.html
- Modules/webgpu/WebGPUBindGroup.h:
(WebCore::WebGPUBindGroup::bindGroup const):
- Modules/webgpu/WebGPUBindGroupDescriptor.cpp:
(WebCore::WebGPUBindGroupDescriptor::asGPUBindGroupDescriptor const): Rename binding -> bufferBinding to reduce confusion.
- Modules/webgpu/WebGPUBuffer.cpp: Small tweaks.
(WebCore::WebGPUBuffer::setSubData):
(WebCore::WebGPUBuffer::unmap): Correctly fail if buffer is destroyed.
(WebCore::WebGPUBuffer::destroy):
(WebCore::WebGPUBuffer::rejectOrRegisterPromiseCallback):
- Modules/webgpu/WebGPUBuffer.h:
(WebCore::WebGPUBuffer::buffer const): Returned buffer is no longer const so that it can be used in completed handler callbacks.
- Modules/webgpu/WebGPUBuffer.idl: Enable setSubData.
- Modules/webgpu/WebGPUCommandBuffer.cpp:
(WebCore::WebGPUCommandBuffer::beginRenderPass):
- Modules/webgpu/WebGPUProgrammablePassEncoder.cpp:
(WebCore::WebGPUProgrammablePassEncoder::setBindGroup const):
- Modules/webgpu/WebGPUProgrammablePassEncoder.h:
- Modules/webgpu/WebGPURenderPassEncoder.cpp:
(WebCore::WebGPURenderPassEncoder::setVertexBuffers):
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/gpu/GPUBuffer.h:
(WebCore::GPUBuffer::isTransferDst const): Added various state and flag getters.
(WebCore::GPUBuffer::isVertex const):
(WebCore::GPUBuffer::isUniform const):
(WebCore::GPUBuffer::isStorage const):
(WebCore::GPUBuffer::isReadOnly const):
(WebCore::GPUBuffer::isMappable const):
(WebCore::GPUBuffer::isMapWrite const):
(WebCore::GPUBuffer::isMapRead const):
(WebCore::GPUBuffer::isMapWriteable const):
(WebCore::GPUBuffer::isMapReadable const):
- platform/graphics/gpu/GPUBufferBinding.h:
- platform/graphics/gpu/GPUCommandBuffer.h:
(WebCore::GPUCommandBuffer::usedBuffers const):
(WebCore::GPUCommandBuffer::useBuffer):
- platform/graphics/gpu/GPUDevice.cpp:
(WebCore::GPUDevice::tryCreateBuffer): Pass Ref of itself for Buffer to request the Queue later, if needed.
(WebCore::GPUDevice::tryCreateBuffer const): Deleted.
- platform/graphics/gpu/GPUDevice.h:
- platform/graphics/gpu/GPUProgrammablePassEncoder.cpp: Retain the encoder's commandBuffer to reference its used resource buffers.
(WebCore::GPUProgrammablePassEncoder::GPUProgrammablePassEncoder):
- platform/graphics/gpu/GPUProgrammablePassEncoder.h:
(WebCore::GPUProgrammablePassEncoder::commandBuffer const):
- platform/graphics/gpu/GPURenderPassEncoder.h:
- platform/graphics/gpu/cocoa/GPUBufferMetal.mm:
(WebCore::GPUBuffer::validateBufferCreate): Move validation out of tryCreate.
(WebCore::GPUBuffer::tryCreate): Create both shared and private buffers, depending on usage.
(WebCore::GPUBuffer::GPUBuffer):
(WebCore::GPUBuffer::~GPUBuffer): Call destroy instead of just unmap.
(WebCore::GPUBuffer::state const):
(WebCore::GPUBuffer::setSubData): Uses a cached collection of staging MTLBuffers to encode data copies to the implementation MTLBuffer.
(WebCore::GPUBuffer::commandBufferCommitted): Register on the GPUBuffer that the provided MTLCommandBuffer uses it, and is about to be committed.
(WebCore::GPUBuffer::commandBufferCompleted): MTLCommandBuffer's onCompletedHandler calls this.
(WebCore::GPUBuffer::reuseSubDataBuffer): SetSubData's blit command buffers call this to return a staging buffer to the pool.
(WebCore::GPUBuffer::registerMappingCallback):
(WebCore::GPUBuffer::runMappingCallback):
(WebCore::GPUBuffer::unmap):
(WebCore::GPUBuffer::destroy):
(WebCore::GPUBuffer::tryCreateSharedBuffer): Deleted.
- platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm:
(WebCore::GPUProgrammablePassEncoder::setResourceAsBufferOnEncoder):
(WebCore::GPUProgrammablePassEncoder::setBindGroup):
- platform/graphics/gpu/cocoa/GPUQueueMetal.mm:
(WebCore::GPUQueue::submit): Ensure submitted buffers are in the correct state, and add completed handlers for synchronization.
- platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm:
(WebCore::GPURenderPassEncoder::tryCreate):
(WebCore::GPURenderPassEncoder::GPURenderPassEncoder): Retain the commandBuffer for later reference.
(WebCore::GPURenderPassEncoder::setVertexBuffers): Mark vertex buffers as used before submission.
(WebCore::GPURenderPassEncoder::create): Deleted.
Buffer size updates in the IDL:
- Modules/webgpu/GPUBufferDescriptor.idl:
- Modules/webgpu/WebGPUBuffer.idl:
- Modules/webgpu/WebGPUBufferBinding.idl:
- Modules/webgpu/WebGPUCommandBuffer.idl:
- Modules/webgpu/WebGPURenderPassEncoder.idl:
- Modules/webgpu/WebGPUVertexAttributeDescriptor.idl:
- Modules/webgpu/WebGPUVertexInputDescriptor.idl:
LayoutTests:
Add tests for mapReadAysnc and setSubData calls. Nofity testRunner when done on some drawing tests
that may take more time.
- webgpu/buffer-command-buffer-races-expected.html: Added.
- webgpu/buffer-command-buffer-races.html: Added.
- webgpu/buffer-resource-triangles.html: Use setSubData.
- webgpu/depth-enabled-triangle-strip.html: Ditto.
- webgpu/map-read-buffers-expected.txt: Added.
- webgpu/map-read-buffers.html: Added.
- webgpu/vertex-buffer-triangle-strip.html: Use setSubData.
- 1:05 PM Changeset in webkit [242147] by
-
- 7 edits in branches/safari-607-branch/Source
Versioning.
- 12:59 PM Changeset in webkit [242146] by
-
- 1 copy in branches/safari-607.1.40.0-branch
New branch.
- 12:14 PM Changeset in webkit [242145] by
-
- 2 edits in trunk/Source/WebCore
Remove LeetCode FetchRequest quirk
https://bugs.webkit.org/show_bug.cgi?id=195100
Reviewed by Alex Christensen.
Covered by manual testing.
- Modules/fetch/FetchRequest.cpp:
(WebCore::needsSignalQuirk):
- 12:13 PM Changeset in webkit [242144] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: popover colors don't change when transitioning to/from dark mode
https://bugs.webkit.org/show_bug.cgi?id=195113
<rdar://problem/48444188>
Reviewed by Timothy Hatcher.
- UserInterface/Views/Popover.js:
(WI.Popover.prototype.dismiss):
(WI.Popover.prototype._addListenersIfNeeded):
- 12:11 PM Changeset in webkit [242143] by
-
- 12 edits in branches/safari-607-branch
Apply patch. rdar://problem/48429676
- 11:53 AM Changeset in webkit [242142] by
-
- 14 edits in trunk/Source/WebKit
Remove UserMediaProcessManager processState map
https://bugs.webkit.org/show_bug.cgi?id=195056
Reviewed by Eric Carlson.
Before the patch, the WebProcessProxy->ProcessState map was storing the list of manager proxies and process state.
To improve on this model, this patch does the following:
- Move the process state to WebProcessProxy.
- Remove the map and replace it by a set of all manager proxies.
This simplifies the handling.
On WebProcess side, instead of storing the sandbox extensions in each WebPage, we handle them in WebProcess directly.
This mirrors what is being done in UIProcess and reduces the risk of inconsistencies between the two, the risk being that capture would fail.
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::forEach):
(WebKit::UserMediaPermissionRequestManagerProxy::UserMediaPermissionRequestManagerProxy):
(WebKit::UserMediaPermissionRequestManagerProxy::~UserMediaPermissionRequestManagerProxy):
(WebKit::UserMediaPermissionRequestManagerProxy::captureStateChanged):
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::muteCaptureMediaStreamsExceptIn):
(WebKit::UserMediaProcessManager::willCreateMediaStream):
(WebKit::UserMediaProcessManager::endedCaptureSession):
(WebKit::UserMediaProcessManager::setCaptureEnabled):
(WebKit::UserMediaProcessManager::captureDevicesChanged):
(WebKit::ProcessState::ProcessState): Deleted.
(WebKit::ProcessState::hasVideoExtension const): Deleted.
(WebKit::ProcessState::grantVideoExtension): Deleted.
(WebKit::ProcessState::revokeVideoExtension): Deleted.
(WebKit::ProcessState::hasAudioExtension const): Deleted.
(WebKit::ProcessState::grantAudioExtension): Deleted.
(WebKit::ProcessState::revokeAudioExtension): Deleted.
(WebKit::stateMap): Deleted.
(WebKit::processState): Deleted.
(WebKit::ProcessState::addRequestManager): Deleted.
(WebKit::ProcessState::removeRequestManager): Deleted.
(WebKit::UserMediaProcessManager::addUserMediaPermissionRequestManagerProxy): Deleted.
(WebKit::UserMediaProcessManager::removeUserMediaPermissionRequestManagerProxy): Deleted.
(WebKit::UserMediaProcessManager::startedCaptureSession): Deleted.
- UIProcess/UserMediaProcessManager.h:
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::mediaCaptureSandboxExtensions const):
(WebKit::WebProcessProxy::hasVideoCaptureExtension const):
(WebKit::WebProcessProxy::grantVideoCaptureExtension):
(WebKit::WebProcessProxy::revokeVideoCaptureExtension):
(WebKit::WebProcessProxy::hasAudioCaptureExtension const):
(WebKit::WebProcessProxy::grantAudioCaptureExtension):
(WebKit::WebProcessProxy::revokeAudioCaptureExtension):
- WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::~UserMediaPermissionRequestManager): Deleted.
(WebKit::UserMediaPermissionRequestManager::clear): Deleted.
(WebKit::UserMediaPermissionRequestManager::grantUserMediaDeviceSandboxExtensions): Deleted.
(WebKit::UserMediaPermissionRequestManager::revokeUserMediaDeviceSandboxExtensions): Deleted.
- WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::close):
(WebKit::WebPage::grantUserMediaDeviceSandboxExtensions): Deleted.
(WebKit::WebPage::revokeUserMediaDeviceSandboxExtensions): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::grantUserMediaDeviceSandboxExtensions):
(WebKit::WebProcess::revokeUserMediaDeviceSandboxExtensions):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- 11:47 AM Changeset in webkit [242141] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Disable permissive call logging in sandbox
https://bugs.webkit.org/show_bug.cgi?id=194061
<rdar://problem/47686253>
Reviewed by Brent Fulgham.
Strict call filtering should be reenabled.
- WebProcess/com.apple.WebProcess.sb.in:
- 11:44 AM Changeset in webkit [242140] by
-
- 3 edits in branches/safari-607-branch/Source/WebCore
Cherry-pick r242138. rdar://problem/48444136
Unable to log into chase.com on iPad when DeviceMotionEvent API is disabled
https://bugs.webkit.org/show_bug.cgi?id=195101
<rdar://problem/48423023>
Reviewed by Geoffrey Garen.
Add site-specific quirk for chase.com on iOS where we fire a dummy DeviceMotionEvent if the page
tries to register a "devicemotion" event listener and fails because the API is disabled. This is
needed to unblock the site and proceed with the login flow.
Unfortunately, document()->settings().needsSiteSpecificQuirks() is false on iOS so I could not
guard the quirk behind this flag.
- page/DOMWindow.cpp: (WebCore::DOMWindow::addEventListener): (WebCore::DOMWindow::failedToRegisterDeviceMotionEventListener):
- page/DOMWindow.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242138 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:15 AM Changeset in webkit [242139] by
-
- 3 edits in trunk/Source/WebKit
[HTTPSUpgrade] Use open source database until the feature is ready
https://bugs.webkit.org/show_bug.cgi?id=195069
<rdar://problem/47838224>
Reviewed by Geoffrey Garen.
- DerivedSources-input.xcfilelist:
- DerivedSources.make:
- 11:03 AM Changeset in webkit [242138] by
-
- 3 edits in trunk/Source/WebCore
Unable to log into chase.com on iPad when DeviceMotionEvent API is disabled
https://bugs.webkit.org/show_bug.cgi?id=195101
<rdar://problem/48423023>
Reviewed by Geoffrey Garen.
Add site-specific quirk for chase.com on iOS where we fire a dummy DeviceMotionEvent if the page
tries to register a "devicemotion" event listener and fails because the API is disabled. This is
needed to unblock the site and proceed with the login flow.
Unfortunately, document()->settings().needsSiteSpecificQuirks() is false on iOS so I could not
guard the quirk behind this flag.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::failedToRegisterDeviceMotionEventListener):
- page/DOMWindow.h:
- 11:02 AM Changeset in webkit [242137] by
-
- 30 edits11 adds in trunk
Support Pointer Events on macOS
https://bugs.webkit.org/show_bug.cgi?id=195008
<rdar://problem/47454419>
Patch by Antoine Quint <Antoine Quint> on 2019-02-27
Reviewed by Dean Jackson.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
We now dispatch relevant pointer events as we prepare to dispatch mouse events. In most cases, this means we dispatch
a pointer event of the same type, with "mouse" being substituted by "pointer", and with the same properties with the
exception that if preventDefault() is called for a "pointerdown" event, the matching "mousedown" will not be dispatched,
and the same behavior also extends to "pointerup".
Tests: pointerevents/mouse/over-enter-out-leave.html
pointerevents/mouse/pointer-capture.html
pointerevents/mouse/pointer-event-basic-properties.html
pointerevents/mouse/pointer-events-before-mouse-events.html
pointerevents/mouse/pointerdown-prevent-default.html
- Configurations/FeatureDefines.xcconfig:
- dom/Document.cpp: All of the touch-action related members and functions should be iOS-specific since the touch-action
property does not have any effect on macOS.
(WebCore::Document::invalidateRenderingDependentRegions):
(WebCore::Document::nodeWillBeRemoved):
(WebCore::Document::updateTouchActionElements):
- dom/Document.h:
- dom/Element.cpp:
(WebCore::Element::dispatchMouseEvent): Dispatch a pointer event matching the mouse event that is about to be dispatched.
If preventDefault() is called in the event handler for either "pointerdown" or "pointerup", do not proceed with dispatching
the mouse event.
- dom/PointerEvent.cpp:
(WebCore::pointerEventType):
(WebCore::PointerEvent::create):
- dom/PointerEvent.h:
- page/EventHandler.cpp: Check both the pointer and mouse events to see if we need to dispatch "enter" and "leave" events.
(WebCore::hierarchyHasCapturingEventListeners):
(WebCore::EventHandler::updateMouseEventTargetNode):
- page/PointerCaptureController.cpp: Fix a build error which only happened on macOS.
(WebCore::PointerCaptureController::PointerCaptureController): Create the CapturingData for the unique mouse pointer.
(WebCore::PointerCaptureController::hasPointerCapture): The code did not match the spec cited in the comment, only the
pending target override needs to be considered to determine whether a given element has pointer capture enabled.
(WebCore::PointerCaptureController::dispatchEvent): Dispatch the provided pointer event, accounting for pointer capture if
it is set.
- page/PointerLockController.cpp: Fix a build error which only happened on macOS.
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveElement): Code related to touch-action is only relevant to iOS.
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
Source/WebKitLegacy/mac:
Add a WebKitLegacy API to enable and disable the Pointer Events runtime feature.
- Configurations/FeatureDefines.xcconfig:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences pointerEventsEnabled]):
(-[WebPreferences setPointerEventsEnabled:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Tools:
- DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures): Enable the PointerEvents runtime feature in DumpRenderTree such that tests targeting WK1 may test the Pointer Events feature.
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
LayoutTests:
- platform/mac-wk1/TestExpectations: Mark select tests as failures due to webkit.org/b/195008.
- platform/mac/TestExpectations: Enable the new mouse-based tests.
- pointerevents/mouse/over-enter-out-leave-expected.txt: Added.
- pointerevents/mouse/over-enter-out-leave.html: Added.
- pointerevents/mouse/pointer-capture-expected.txt: Added.
- pointerevents/mouse/pointer-capture.html: Added.
- pointerevents/mouse/pointer-event-basic-properties-expected.txt: Added.
- pointerevents/mouse/pointer-event-basic-properties.html: Added.
- pointerevents/mouse/pointer-events-before-mouse-events-expected.txt: Added.
- pointerevents/mouse/pointer-events-before-mouse-events.html: Added.
- pointerevents/mouse/pointerdown-prevent-default-expected.txt: Added.
- pointerevents/mouse/pointerdown-prevent-default.html: Added.
- pointerevents/utils.js:
(prototype.clear):
- 10:55 AM Changeset in webkit [242136] by
-
- 11 edits in trunk/Source
Network Process is put to suspended when holding locked IndexedDB files
https://bugs.webkit.org/show_bug.cgi?id=195024
<rdar://problem/45194169>
Reviewed by Geoffrey Garen.
Source/WebCore:
We found network process was suspended when IDBDatabase was being closed in the background database thread,
holding locks to its database file. To avoid starvation or deadlock, we need to keep network process alive by
taking background assertion in UI process until the closes are done and locks are released.
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::create):
(WebCore::IDBServer::IDBServer::IDBServer):
(WebCore::IDBServer::IDBServer::createBackingStore):
(WebCore::IDBServer::IDBServer::closeDatabase):
(WebCore::IDBServer::IDBServer::didCloseDatabase):
- Modules/indexeddb/server/IDBServer.h:
(WebCore::IDBServer::IDBServer::create):
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentDeleteOperation):
(WebCore::IDBServer::UniqueIDBDatabase::scheduleShutdownForClose):
(WebCore::IDBServer::UniqueIDBDatabase::didShutdownForClose):
(WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::immediateCloseForUserDelete):
(WebCore::IDBServer::UniqueIDBDatabase::notifyServerAboutClose):
- Modules/indexeddb/server/UniqueIDBDatabase.h:
Source/WebKit:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::idbServer):
(WebKit::NetworkProcess::notifyHoldingLockedFiles):
- NetworkProcess/NetworkProcess.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::setIsIDBDatabaseHoldingLockedFiles):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- 10:49 AM Changeset in webkit [242135] by
-
- 10 edits in branches/safari-607-branch/Source
Cherry-pick r242099. rdar://problem/48429675
[iOS] Regression(PSON) Scroll position is no longer restored when navigating back to reddit.com
https://bugs.webkit.org/show_bug.cgi?id=195054
<rdar://problem/48330549>
Reviewed by Geoff Garen.
Source/WebCore:
Add MaintainMemoryCache flag to indicate that the memory cache should not get purged.
- page/MemoryRelease.cpp: (WebCore::releaseNoncriticalMemory): (WebCore::releaseCriticalMemory): (WebCore::releaseMemory):
- page/MemoryRelease.h:
Source/WebKit:
We attempt to restore the scroll position twice, on first layout and then on load completion.
Before PSON, the scroll position would fail to get restored on first layout but would succeed
on load completion because the view is tall enough by then. With PSON however, we would
fail to restore the scroll position on load completion because the view would not be tall
enough yet by this point. The reason is that the dynamic resources would not be in the memory cache
and would then get reloaded abd finish loading *after* the load event.
To address the issue, we now make sure to not purge the memory cache on process suspension on
iOS if there is currently a SuspendedPageProxy in the UIProcess for this process.
- UIProcess/SuspendedPageProxy.cpp: (WebKit::SuspendedPageProxy::SuspendedPageProxy): (WebKit::SuspendedPageProxy::~SuspendedPageProxy):
- UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::incrementSuspendedPageCount): (WebKit::WebProcessProxy::decrementSuspendedPageCount):
- UIProcess/WebProcessProxy.h:
- WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): (WebKit::WebProcess::setHasSuspendedPageProxy):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:49 AM Changeset in webkit [242134] by
-
- 4 edits in branches/safari-607-branch
Cherry-pick r242089. rdar://problem/48429668
WebPageProxy should nullify m_userMediaPermissionRequestManager after resetting the media state
https://bugs.webkit.org/show_bug.cgi?id=195028
<rdar://problem/48243733>
Reviewed by Eric Carlson.
Source/WebKit:
Covered by API test.
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetState):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242089 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:49 AM Changeset in webkit [242133] by
-
- 3 edits in branches/safari-607-branch/Source/WebKit
Cherry-pick r242098. rdar://problem/48429674
[iOS] REGRESSION(r238490?): Safari sometimes shows blank page until a cross site navigation or re-opening the tab
https://bugs.webkit.org/show_bug.cgi?id=195037
<rdar://problem/48154508>
Reviewed by Antti Koivisto.
Restore the pre-r238490 behavior of WebPage::didCompletePageTransition clearing LayerTreeFreezeReason::ProcessSuspended
as this has been an issue when I was able to reproduce the issue locally.
Also added release logging to help diagnose the issue in the future.
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::didCompletePageTransition):
- WebProcess/WebProcess.cpp: (WebKit::WebProcess::freezeAllLayerTrees): (WebKit::WebProcess::unfreezeAllLayerTrees):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:47 AM Changeset in webkit [242132] by
-
- 53 edits in trunk
Have a single notion of scroll position in the scrolling tree and derive layoutViewport from it
https://bugs.webkit.org/show_bug.cgi?id=194973
Reviewed by Antti Koivisto.
This patch cleans up how the scrolling tree responds to scrolls.
First, ScrollingTreeScrollingNode::m_currentScrollPosition is "truth" for scrolling thread/
UI process scroll position.
On macOS where handleWheelEvent on the scrolling thread changes scroll position, the
bottleneck is ScrollingTreeScrollingNode::scrollTo() which sets the new scroll position,
update the visual viewport (for frame scrolls) updates the scrolledContentsLayer position,
updates related layers on this node (counter-scrolling layers etc), and then tells the
scrolling tree, which recurses through descendant nodes so they can adjust their layer
positions.
On iOS, the bottleneck is ScrollingTreeScrollingNode::wasScrolledByDelegatedScrolling(),
which does the above other than setting scrolledContentsLayer (since we're reacting to
layer state changes, not producing them).
updateLayersAfterAncestorChange() is renamed to relatedNodeScrollPositionDidChange(), and
ScrollingTree does the tree walk so classes don't have to implement
updateLayersAfterAncestorChange() just to talk children. The ScrollingTree tree walk knows
how to get the correct layoutViewport and to stop at frame boundaries (layer updates never
need to cross frame boundaries).
We preserve 'cumulativeDelta'; it's necessary for things like fixed inside overflow:scroll,
since the fixed state was computed with the "layout" scroll position, so we have to account
for the scroll delta since the last committed position. It's possible we could improve this
in future.
Source/WebCore:
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::mainFrameViewportChangedViaDelegatedScrolling):
(WebCore::ScrollingTree::notifyRelatedNodesAfterScrollPositionChange):
(WebCore::ScrollingTree::notifyRelatedNodesRecursive):
(WebCore::ScrollingTree::mainFrameLayoutViewport):
(WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling): Deleted.
- page/scrolling/ScrollingTree.h:
- page/scrolling/ScrollingTreeFrameHostingNode.cpp:
(WebCore::ScrollingTreeFrameHostingNode::updateLayersAfterAncestorChange): Deleted.
- page/scrolling/ScrollingTreeFrameHostingNode.h:
- page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::updateViewportForCurrentScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNode::localToContentsPoint const):
- page/scrolling/ScrollingTreeFrameScrollingNode.h:
- page/scrolling/ScrollingTreeNode.cpp:
(WebCore::ScrollingTreeNode::relatedNodeScrollPositionDidChange):
(WebCore::ScrollingTreeNode::enclosingScrollingNodeIncludingSelf):
- page/scrolling/ScrollingTreeNode.h:
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::minimumScrollPosition const):
(WebCore::ScrollingTreeScrollingNode::scrollLimitReached const):
(WebCore::ScrollingTreeScrollingNode::adjustedScrollPosition const):
(WebCore::ScrollingTreeScrollingNode::scrollBy):
(WebCore::ScrollingTreeScrollingNode::scrollTo):
(WebCore::ScrollingTreeScrollingNode::currentScrollPositionChanged):
(WebCore::ScrollingTreeScrollingNode::wasScrolledByDelegatedScrolling):
(WebCore::ScrollingTreeScrollingNode::localToContentsPoint const):
(WebCore::ScrollingTreeScrollingNode::updateLayersAfterAncestorChange): Deleted.
(WebCore::ScrollingTreeScrollingNode::setScrollPosition): Deleted.
- page/scrolling/ScrollingTreeScrollingNode.h:
- page/scrolling/ScrollingTreeScrollingNodeDelegate.h:
(WebCore::ScrollingTreeScrollingNodeDelegate::currentScrollPosition const):
(WebCore::ScrollingTreeScrollingNodeDelegate::scrollPosition const): Deleted.
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
- page/scrolling/ThreadedScrollingTree.h:
- page/scrolling/cocoa/ScrollingTreeFixedNode.h:
- page/scrolling/cocoa/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::relatedNodeScrollPositionDidChange):
(WebCore::ScrollingTreeFixedNode::updateLayersAfterAncestorChange): Deleted.
- page/scrolling/cocoa/ScrollingTreeStickyNode.h:
- page/scrolling/cocoa/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::relatedNodeScrollPositionDidChange):
(WebCore::ScrollingTreeStickyNode::updateLayersAfterAncestorChange): Deleted.
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateAfterChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):
(WebCore::ScrollingTreeFrameScrollingNodeMac::adjustedScrollPosition const):
(WebCore::ScrollingTreeFrameScrollingNodeMac::currentScrollPositionChanged):
(WebCore::ScrollingTreeFrameScrollingNodeMac::repositionScrollingLayers):
(WebCore::ScrollingTreeFrameScrollingNodeMac::repositionRelatedLayers):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateMainFramePinState):
(WebCore::ScrollingTreeFrameScrollingNodeMac::exposedUnfilledArea const):
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollPosition const): Deleted.
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollPosition): Deleted.
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition): Deleted.
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateLayersAfterViewportChange): Deleted.
- page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h:
(): Deleted.
- page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:
(WebCore::ScrollingTreeOverflowScrollingNodeMac::adjustedScrollPosition const):
(WebCore::ScrollingTreeOverflowScrollingNodeMac::repositionScrollingLayers):
(WebCore::ScrollingTreeOverflowScrollingNodeMac::~ScrollingTreeOverflowScrollingNodeMac): Deleted.
(WebCore::ScrollingTreeOverflowScrollingNodeMac::updateLayersAfterAncestorChange): Deleted.
(WebCore::ScrollingTreeOverflowScrollingNodeMac::scrollPosition const): Deleted.
(WebCore::ScrollingTreeOverflowScrollingNodeMac::setScrollPosition): Deleted.
(WebCore::ScrollingTreeOverflowScrollingNodeMac::setScrollLayerPosition): Deleted.
(WebCore::ScrollingTreeOverflowScrollingNodeMac::updateLayersAfterDelegatedScroll): Deleted.
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::isAlreadyPinnedInDirectionOfGesture):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::stretchAmount):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::pinnedInDirection):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::adjustScrollPositionToBoundsIfNecessary):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::scrollOffset const):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::immediateScrollOnAxis):
Source/WebKit:
- UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
- UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::viewportChangedViaDelegatedScrolling):
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll):
- UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
- UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll):
- UIProcess/RemoteLayerTree/RemoteScrollingTree.h:
- UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:
(WebKit::RemoteScrollingCoordinatorProxy::currentLayoutViewport const):
- UIProcess/RemoteLayerTree/ios/ScrollingTreeFrameScrollingNodeRemoteIOS.h:
- UIProcess/RemoteLayerTree/ios/ScrollingTreeFrameScrollingNodeRemoteIOS.mm:
(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::commitStateAfterChildren):
(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::repositionScrollingLayers):
(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::repositionRelatedLayers):
(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::scrollPosition const): Deleted.
(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::setScrollPosition): Deleted.
(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::setScrollLayerPosition): Deleted.
(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::updateChildNodesAfterScroll): Deleted.
(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::updateLayersAfterDelegatedScroll): Deleted.
(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::updateLayersAfterViewportChange): Deleted.
(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::updateLayersAfterAncestorChange): Deleted.
- UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
- UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::repositionScrollingLayers):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterAncestorChange): Deleted.
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollPosition const): Deleted.
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::setScrollLayerPosition): Deleted.
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterDelegatedScroll): Deleted.
- UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:
- UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::ScrollingTreeScrollingNodeDelegateIOS):
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::repositionScrollingLayers):
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::scrollViewDidScroll):
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::updateLayersAfterAncestorChange): Deleted.
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::scrollPosition const): Deleted.
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::setScrollLayerPosition): Deleted.
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::updateChildNodesAfterScroll): Deleted.
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::scrollViewDidScroll const): Deleted.
- UIProcess/RemoteLayerTree/mac/ScrollerPairMac.mm:
(WebKit::ScrollerPairMac::updateValues):
(WebKit::ScrollerPairMac::valuesForOrientation):
- UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp:
(WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::repositionRelatedLayers):
(WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::setScrollLayerPosition): Deleted.
- UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:contentInsets:unobscuredRectInScrollViewCoordinates:obscuredInsets:unobscuredSafeAreaInsets:inputViewBounds:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]):
- 10:05 AM Changeset in webkit [242131] by
-
- 2 edits in trunk/Source/WebKit
Silence log after r242122
https://bugs.webkit.org/show_bug.cgi?id=195074
- UIProcess/WebStorage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::databasePath const):
m_localStorageDirectory can now be null for ephemeral sessions.
This is not a failure to create a directory and needs no log.
This fixes the WKWebView.InitializingWebViewWithEphemeralStorageDoesNotLog API test.
- 9:33 AM Changeset in webkit [242130] by
-
- 9 edits in trunk/LayoutTests
scrolling/ios/hit-testing-iframe* tests need to hide the tap highlight
https://bugs.webkit.org/show_bug.cgi?id=195099
Reviewed by Frederic Wang.
These tests were failing because the ref test captured the tap highlight, so hide
it with -webkit-tap-highlight-color: transparent;
- fast/scrolling/ios/hit-testing-iframe-001.html:
- fast/scrolling/ios/hit-testing-iframe-002.html:
- fast/scrolling/ios/hit-testing-iframe-003.html:
- fast/scrolling/ios/hit-testing-iframe-004.html:
- fast/scrolling/ios/hit-testing-iframe-005.html:
- fast/scrolling/ios/hit-testing-iframe-006.html:
- fast/scrolling/ios/mixing-user-and-programmatic-scroll-006.html:
- platform/ios-wk2/TestExpectations: hit-testing-iframe-006.html passes now.
- 9:31 AM Changeset in webkit [242129] by
-
- 3 edits2 adds in trunk
[MSE] SourceBuffer sample time increment vs. last frame duration check is broken
https://bugs.webkit.org/show_bug.cgi?id=194747
<rdar://problem/48148469>
Patch by Ulrich Pflueger <up@nanocosmos.de> on 2019-02-27
Reviewed by Jer Noble.
Source/WebCore:
Prevent unintended frame drops by including last frame duration in discontinuity check.
Test: media/media-source/media-source-append-variable-frame-lengths-with-matching-durations.html
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
LayoutTests:
- media/media-source/media-source-append-variable-frame-lengths-with-matching-durations-expected.txt: Added.
- media/media-source/media-source-append-variable-frame-lengths-with-matching-durations.html: Added.
- 8:59 AM Changeset in webkit [242128] by
-
- 4 edits in trunk/Source
REGRESSION: WebKit content crash in Base System (because NSAppearance is NULL).
https://bugs.webkit.org/show_bug.cgi?id=195086
rdar://problem/48419124
Reviewed by Tim Horton.
Source/WebCore:
- platform/mac/ScrollAnimatorMac.mm:
(-[WebScrollerImpDelegate effectiveAppearanceForScrollerImp:]): Always return a valid NSAppearance.
Source/WebKit:
- UIProcess/RemoteLayerTree/mac/ScrollerMac.mm:
(-[WKScrollerImpDelegate effectiveAppearanceForScrollerImp:]): Always return a valid NSAppearance.