Timeline
Feb 8, 2019:
- 11:58 PM Changeset in webkit [241237] by
-
- 4 edits in trunk/Source
[WTF] Use BufferInternal StringImpl if substring StringImpl takes more memory
https://bugs.webkit.org/show_bug.cgi?id=194469
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
- runtime/JSString.h:
(JSC::jsSubstring):
Source/WTF:
Because pointer is large and aligned in 64bit in 64bit architecture, BufferSubstring StringImpl
implementation takes more memory than BufferInternal StringImpl implementation for small strings.
And BufferInternal StringImpl does not have a problem like, small substring StringImpl keeps super
large owner StringImpl. This patch calculates the required size of memory and selects the more efficient one.
- wtf/text/StringImpl.h:
(WTF::StringImpl::isSubString const):
(WTF::StringImpl::createSubstringSharingImpl):
- 11:43 PM Changeset in webkit [241236] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] CachedTypes should use jsString instead of JSString::create
https://bugs.webkit.org/show_bug.cgi?id=194471
Reviewed by Mark Lam.
Use jsString() here because JSString::create is a bit low-level API and it requires some invariant like "length is not zero".
- runtime/CachedTypes.cpp:
(JSC::CachedJSValue::decode const):
- 11:04 PM Changeset in webkit [241235] by
-
- 2 edits in trunk/Source/WebKit
Speculative fix for Mojave API test after r241223
https://bugs.webkit.org/show_bug.cgi?id=194427
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCInitializationHandler):
(WebKit::XPCServiceMain):
Set the APPLEEVENTSSERVICENAME environment variable before handling any xpc messages like we used to.
I'll worry about making things right in the daemon later.
- 11:01 PM Changeset in webkit [241234] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] Increase StructureIDTable initial capacity
https://bugs.webkit.org/show_bug.cgi?id=194468
Reviewed by Mark Lam.
Currently, # of structures just after initializing JSGlobalObject (precisely, initializing GlobalObject in
JSC shell), 281, already exceeds the current initial value 256. We should increase the capacity since
unnecessary resizing requires more operations, keeps old StructureID array until GC happens, and makes
more memory dirty. We also remove some structures that are no longer used.
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::callbackObjectStructure const):
(JSC::JSGlobalObject::propertyNameIteratorStructure const): Deleted.
- runtime/StructureIDTable.h:
- runtime/VM.h:
- 8:40 PM Changeset in webkit [241233] by
-
- 6 edits1 add in trunk
[JSC] String.fromCharCode's slow path always generates 16bit string
https://bugs.webkit.org/show_bug.cgi?id=194466
Reviewed by Keith Miller.
JSTests:
- stress/string-from-char-code-slow-path.js: Added.
(shouldBe):
(testWithLength):
Source/JavaScriptCore:
String.fromCharCode(a1) has a fast path and the most frequently used. And String.fromCharCode(a1, a2, ...)
goes to the slow path. However, in the slow path, we always create 16bit string. 16bit string takes 2x memory,
and even worse, taints ropes 16bit if 16bit string is included in the given rope. We find that acorn-wtb
creates very large strings multiple times with String.fromCharCode, and String.fromCharCode always produces
16bit string. However, only few strings are actually 16bit strings. This patch attempts to make 8bit string
as much as possible.
It improves non JIT acorn-wtb's peak and current memory footprint by 6% and 3% respectively.
- runtime/StringConstructor.cpp:
(JSC::stringFromCharCode):
- 8:36 PM Changeset in webkit [241232] by
-
- 8 edits in trunk/Source/WebKit
[WK2][macOS] Avoid creating new CVDisplayLink objects for each WebProcess
https://bugs.webkit.org/show_bug.cgi?id=194463
Reviewed by Tim Horton.
Avoid creating new CVDisplayLink objects for each WebProcess. We really only need one per
display, creating such object is expensive and it is even worse in a PSON world where we
swap process on navigation.
This patch moves the DisplayLink storing from WebProcessProxy to WebProcessPool. Also,
a DisplayLink can now be associated to several IPC connections instead of having a 1:1
mapping. When a DisplayLink no longer has any observers, we now merely stop it instead
of destroying it.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::startDisplayLink):
(WebKit::WebProcessPool::stopDisplayLink):
(WebKit::WebProcessPool::stopDisplayLinks):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::processWillShutDown):
(WebKit::WebProcessProxy::shutDown):
- UIProcess/WebProcessProxy.h:
- UIProcess/mac/DisplayLink.cpp:
(WebKit::DisplayLink::DisplayLink):
(WebKit::DisplayLink::addObserver):
(WebKit::DisplayLink::removeObserver):
(WebKit::DisplayLink::removeObservers):
(WebKit::DisplayLink::hasObservers const):
(WebKit::DisplayLink::displayLinkCallback):
- UIProcess/mac/DisplayLink.h:
- UIProcess/mac/WebProcessProxyMac.mm:
(WebKit::WebProcessProxy::startDisplayLink):
(WebKit::WebProcessProxy::stopDisplayLink):
- 8:06 PM Changeset in webkit [241231] by
-
- 2 edits in trunk/Source/WebCore
[Cocoa] CTLineGetGlyphRuns() might return nullptr
https://bugs.webkit.org/show_bug.cgi?id=194467
<rdar://problem/42423999>
Reviewed by Simon Fraser.
Be somewhat defensive to try to make sure this sort of thing doesn't happen in the future.
Covered by find/text/find-backwards.html
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
- 7:56 PM Changeset in webkit [241230] by
-
- 6 edits in trunk/Source/JavaScriptCore
We should only make rope strings when concatenating strings long enough.
https://bugs.webkit.org/show_bug.cgi?id=194465
Reviewed by Saam Barati.
This patch stops us from allocating a rope string if the resulting
rope would be smaller than the size of the JSRopeString object we
would need to allocate.
This patch also adds paths so that we don't unnecessarily allocate
JSString cells for primitives we are going to concatenate with a
string anyway.
- dfg/DFGOperations.cpp:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/JSString.h:
- runtime/Operations.cpp:
(JSC::jsAddSlowCase):
- runtime/Operations.h:
(JSC::jsString):
(JSC::jsAdd):
- 7:42 PM Changeset in webkit [241229] by
-
- 24 edits2 adds2 deletes in trunk
[Cocoa] Ask platform for generic font family mappings
https://bugs.webkit.org/show_bug.cgi?id=187723
<rdar://problem/41892438>
Reviewed by Brent Fulgham.
Source/WebCore:
WebKit API allows setting the generic font families for the USCRIPT_COMMON script.
When trying to style a character with a generic font family, we first look to see if
we have a mapping for the particular script the character is rendered with, and if we
don't find a match, we then check USCRIPT_COMMON.
In the Cocoa ports, the only way families get set for non-USCRIPT_COMMON scripts (aka
the only scripts which won't use the API families) is in
SettingsBase::initializeDefaultFontFamilies(). That function only sets the families
for the CJK scripts.
The mappings inside SettingsBase are incorrect and conflict with our policy regarding
user-installed fonts. Instead, we should be consulting with the platform for some of
these mappings, by calling CTFontDescriptorCreateForCSSFamily(). However, the WebKit
API still has to work to set the mappings for untagged content. Therefore, we use the
system mappings for language-tagged content, and the API mappings for non-language-tagged
content. This is a good balance that makes sure we always have a good mapping for every
language, but API clients can still set the mappings, too.
Test: fast/text/ja-sans-serif.html
- css/CSSComputedStyleDeclaration.cpp:
- css/CSSFontSelector.cpp:
(WebCore::resolveGenericFamily):
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeFontFamily):
- page/cocoa/SettingsBaseCocoa.mm:
(WebCore::SettingsBase::initializeDefaultFontFamilies):
(WebCore::osakaMonoIsInstalled): Deleted.
- platform/graphics/FontDescription.cpp:
(WebCore::FontDescription::platformResolveGenericFamily):
- platform/graphics/FontDescription.h:
- platform/graphics/cocoa/FontDescriptionCocoa.cpp:
(WebCore::computeSpecializedChineseLocale):
(WebCore::cachedSpecializedChineseLocale):
(WebCore::languageChanged):
(WebCore::FontDescription::platformResolveGenericFamily):
- platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:
(WebCore::SystemFontDatabaseCoreText::clear):
(WebCore::SystemFontDatabaseCoreText::serifFamily):
(WebCore::SystemFontDatabaseCoreText::sansSerifFamily):
(WebCore::SystemFontDatabaseCoreText::cursiveFamily):
(WebCore::SystemFontDatabaseCoreText::fantasyFamily):
(WebCore::SystemFontDatabaseCoreText::monospaceFamily):
- platform/graphics/cocoa/SystemFontDatabaseCoreText.h:
Source/WebCore/PAL:
- pal/spi/cocoa/CoreTextSPI.h:
Tools:
Allow testing infrastructure to use fonts that are returned from CTFontDescriptorCreateForCSSFamily().
- DumpRenderTree/mac/DumpRenderTree.mm:
(allowedFontFamilySet):
- WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::allowedFontFamilySet):
LayoutTests:
Update the tests to work with this new model.
- fast/text/international/font-fallback-to-common-script-expected.html: Removed.
- fast/text/international/font-fallback-to-common-script.html: Removed. This test is no longer testing
anything relevant.
- fast/text/international/lang-sensitive-fonts-expected.html:
- fast/text/international/lang-sensitive-fonts-xml-expected.html:
- fast/text/international/lang-sensitive-fonts-xml.xhtml:
- fast/text/international/lang-sensitive-fonts.html:
- fast/text/international/locale-sensitive-fonts-expected.html:
- fast/text/international/locale-sensitive-fonts.html:
- fast/text/ja-sans-serif-expected-mismatch.html: Added.
- fast/text/ja-sans-serif.html: Added.
- 7:05 PM Changeset in webkit [241228] by
-
- 14 edits1 add in trunk
Nodes that rely on being dominated by CheckInBounds should have a child edge to it
https://bugs.webkit.org/show_bug.cgi?id=194334
<rdar://problem/47844327>
Reviewed by Mark Lam.
JSTests:
- stress/check-in-bounds-should-be-a-child-use.js: Added.
(func):
Source/JavaScriptCore:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::convertToHasIndexedProperty):
- dfg/DFGIntegerCheckCombiningPhase.cpp:
(JSC::DFG::IntegerCheckCombiningPhase::handleBlock):
- dfg/DFGIntegerRangeOptimizationPhase.cpp:
- dfg/DFGNodeType.h:
- dfg/DFGSSALoweringPhase.cpp:
(JSC::DFG::SSALoweringPhase::lowerBoundsCheck):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileHasIndexedProperty):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCheckInBounds):
(JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty):
- 6:31 PM Changeset in webkit [241227] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Audit: show keyboard shortcut in export tooltip
https://bugs.webkit.org/show_bug.cgi?id=194454
Reviewed by Matt Baker.
- UserInterface/Views/AuditTestContentView.js:
(WI.AuditTestContentView):
(WI.AuditTestContentView.prototype.get saveData):
(WI.AuditTestContentView.prototype._exportResult): Added.
(WI.AuditTestContentView.prototype._handleExportButtonNavigationItemClicked):
(WI.AuditTestContentView.prototype._exportAudit): Deleted.
- Localizations/en.lproj/localizedStrings.js:
- 5:47 PM Changeset in webkit [241226] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Styles: easier way to select a single line
https://bugs.webkit.org/show_bug.cgi?id=193305
Reviewed by Devin Rousso.
Start property selection after mousedown when mouse cursor moves 8px,
which is ~1.5 times the width of a text character in the style editor.
- UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
(WI.SpreadsheetCSSStyleDeclarationSection):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleWindowMouseMove): Added.
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._stopSelection):
- 5:30 PM Changeset in webkit [241225] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Debugger Popover should work with value in template string
${identifier}
https://bugs.webkit.org/show_bug.cgi?id=194459
<rdar://problem/47932564>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2019-02-08
Reviewed by Devin Rousso.
- UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
(WI.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
When walking backwards to get the full expression we were walking outside
of the interpolation groupoutside ${inside}. Stop walking backwards once
we cross the boundary.
- 5:29 PM Changeset in webkit [241224] by
-
- 31 edits2 copies7 moves1 add in trunk
[GTK] Implement back/forward touchpad gesture
https://bugs.webkit.org/show_bug.cgi?id=193919
Patch by Alexander Mikhaylenko <exalm7659@gmail.com> on 2019-02-08
Reviewed by Michael Catanzaro.
Source/WebKit:
Move ViewSnapshotStore and ViewGestureController from Cocoa/Mac directory
to UIProcess/, also move some parts of mac/ViewGestreControllerMac.mm to
ViewGestureController.cpp, split up Mac- and iOS-specific parts of
ViewSnapshotStore.cpp into mac/ViewSnapshotMac.mm, then implement 2-finger
touchpad swipe back-forward gesture for GTK based on that.
To avoid name conflict, rename existing ViewGestureController class inside
UIProcess/API/gtk/WebKitWebViewBase.cpp into TouchGestureController.
Since GTK gestures can only work with 3 or 4 fingers, treat horizontal
scrolling events as a swipe as long as there's nowhere to scroll in that
direction and web page doesn't handle the scrolling.
This is only allowed for touchpads, even though it can theoretically work
with touch mice and trackpoints.
The gesture requires every item in back-forward list to have a snapshot.
There's already an existing infrastructure for that, so the patch changes
a bunch of #if PLATFORM(COCOA) statements to also check for GTK platform.
The snapshots have to be taken in sync, so the implementation draws webview
widget into a Cairo image surface.
The gesture is disabled by default, and can be enabled by setting the newly
added 'enable-back-forward-navigation-gestures' property in WebKitSettings to
true.
Gesture drawing is implemented via Cairo. When the gesture is active, the
actual page is drawn into a Cairo group, which is then drawn together with
a given snapshot, as well as dimming and a drop shadow over the "lower" layer.
Also add a memory pressure handler that clears snapshot store when low on memory.
- DerivedSources-input.xcfilelist:
- PlatformGTK.cmake:
- PlatformMac.cmake:
- Shared/SessionState.h: Add snapshot to back-forward items for GTK.
- Shared/WebBackForwardListItem.h: Add snapshot to back-forward items for GTK.
- SourcesCocoa.txt:
- SourcesGTK.txt:
- UIProcess/API/glib/WebKitSettings.cpp:
Added 'enable-back-forward-navigation-gestures' property for enabling the gesture.
(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_back_forward_navigation_gestures): Added, GTK only.
(webkit_settings_set_enable_back_forward_navigation_gestures): Added, GTK only.
- UIProcess/API/glib/WebKitWebView.cpp:
(enableBackForwardNavigationGesturesChanged): Added, GTK only.
(webkitWebViewUpdateSettings):
(webkitWebViewDisconnectSettingsSignalHandlers):
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::setViewNeedsDisplay): Redraw the whole screen instead of a region during the gesture.
(WebKit::PageClientImpl::takeViewSnapshot): Added.
(WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore): Pass unhandled events to the gesture controller.
(WebKit::PageClientImpl::didRemoveNavigationGestureSnapshot): Redraw the widget immediately after removing snapshot.
(WebKit::PageClientImpl::didStartProvisionalLoadForMainFrame): Added, send a notification to the gesture controller.
(WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame): Send a notification to the gesture controller.
(WebKit::PageClientImpl::didFinishLoadForMainFrame): Send a notification to the gesture controller.
(WebKit::PageClientImpl::didFailLoadForMainFrame): Added, send a notification to the gesture controller.
(WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame): Send a notification to the gesture controller.
(WebKit::PageClientImpl::didRestoreScrollPosition): Added, send a notification to the gesture controller.
- UIProcess/API/gtk/PageClientImpl.h:
- UIProcess/API/gtk/WebKitSettings.h:
Add webkit_settings_get_enable_back_forward_navigation_gestures() and webkit_settings_get_enable_back_forward_navigation_gestures()
to public API.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDraw): Pass drawing to ViewGestureController during the gesture.
(webkitWebViewBaseScrollEvent): Pass scroll events to ViewGestureController during the gesture.
(webkitWebViewBaseGestureController): Renamed ViewGestureController to TouchGestureController.
(webkitWebViewBaseViewGestureController): Added.
(webkitWebViewBaseCreateWebPage): Create an instance of ViewGestureController.
(webkitWebViewBaseTakeViewSnapshot): Added.
(webkitWebViewBaseDidStartProvisionalLoadForMainFrame): Added.
(webkitWebViewBaseDidFirstVisuallyNonEmptyLayoutForMainFrame): Added.
(webkitWebViewBaseDidFinishLoadForMainFrame): Added.
(webkitWebViewBaseDidFailLoadForMainFrame): Added.
(webkitWebViewBaseDidSameDocumentNavigationForMainFrame): Added.
(webkitWebViewBaseDidRestoreScrollPosition): Added.
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Mentioned the added functions in docs.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitialize): Move the check from WebMemoryPressureHandlerCocoa.mm here.
- UIProcess/PageClient.h: Add takeViewSnapshot() for GTK.
- UIProcess/ViewGestureController.cpp: Renamed from Source/WebKit/UIProcess/Cocoa/ViewGestureController.cpp.
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::~ViewGestureController):
(WebKit::ViewGestureController::disconnectFromProcess):
(WebKit::ViewGestureController::connectToProcess):
(WebKit::ViewGestureController::controllerForGesture):
(WebKit::ViewGestureController::takeNextGestureID):
(WebKit::ViewGestureController::willBeginGesture):
(WebKit::ViewGestureController::didEndGesture):
(WebKit::ViewGestureController::setAlternateBackForwardListSourcePage):
(WebKit::ViewGestureController::canSwipeInDirection const):
(WebKit::ViewGestureController::didStartProvisionalOrSameDocumentLoadForMainFrame):
(WebKit::ViewGestureController::didStartProvisionalLoadForMainFrame):
(WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
(WebKit::ViewGestureController::didRepaintAfterNavigation):
(WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
(WebKit::ViewGestureController::didRestoreScrollPosition):
(WebKit::ViewGestureController::didReachMainFrameLoadTerminalState):
(WebKit::ViewGestureController::didSameDocumentNavigationForMainFrame):
(WebKit::ViewGestureController::checkForActiveLoads):
(WebKit::ViewGestureController::SnapshotRemovalTracker::SnapshotRemovalTracker):
(WebKit::ViewGestureController::SnapshotRemovalTracker::eventsDescription):
(WebKit::ViewGestureController::SnapshotRemovalTracker::log const):
(WebKit::ViewGestureController::SnapshotRemovalTracker::resume):
(WebKit::ViewGestureController::SnapshotRemovalTracker::start):
(WebKit::ViewGestureController::SnapshotRemovalTracker::reset):
(WebKit::ViewGestureController::SnapshotRemovalTracker::stopWaitingForEvent):
(WebKit::ViewGestureController::SnapshotRemovalTracker::eventOccurred):
(WebKit::ViewGestureController::SnapshotRemovalTracker::cancelOutstandingEvent):
(WebKit::ViewGestureController::SnapshotRemovalTracker::hasOutstandingEvent):
(WebKit::ViewGestureController::SnapshotRemovalTracker::fireRemovalCallbackIfPossible):
(WebKit::ViewGestureController::SnapshotRemovalTracker::fireRemovalCallbackImmediately):
(WebKit::ViewGestureController::SnapshotRemovalTracker::watchdogTimerFired):
(WebKit::ViewGestureController::SnapshotRemovalTracker::startWatchdog):
(WebKit::deltaShouldCancelSwipe):
(WebKit::ViewGestureController::PendingSwipeTracker::PendingSwipeTracker):
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe):
(WebKit::ViewGestureController::PendingSwipeTracker::handleEvent):
(WebKit::ViewGestureController::PendingSwipeTracker::eventWasNotHandledByWebCore):
(WebKit::ViewGestureController::PendingSwipeTracker::tryToStartSwipe):
(WebKit::ViewGestureController::PendingSwipeTracker::reset):
(WebKit::ViewGestureController::startSwipeGesture):
(WebKit::ViewGestureController::isPhysicallySwipingLeft const):
(WebKit::ViewGestureController::shouldUseSnapshotForSize):
(WebKit::ViewGestureController::forceRepaintIfNeeded):
(WebKit::ViewGestureController::willEndSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
(WebKit::ViewGestureController::requestRenderTreeSizeNotificationIfNeeded):
- UIProcess/ViewGestureController.h: Renamed from Source/WebKit/UIProcess/Cocoa/ViewGestureController.h.
(WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
(WebKit::ViewGestureController::shouldIgnorePinnedState):
(WebKit::ViewGestureController::setShouldIgnorePinnedState):
(WebKit::ViewGestureController::hasActiveMagnificationGesture const):
(WebKit::ViewGestureController::setCustomSwipeViews):
(WebKit::ViewGestureController::setCustomSwipeViewsTopContentInset):
(WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback):
(WebKit::ViewGestureController::backgroundColorForCurrentSnapshot const):
(WebKit::ViewGestureController::didFinishLoadForMainFrame):
(WebKit::ViewGestureController::didFailLoadForMainFrame):
(WebKit::ViewGestureController::setSwipeGestureEnabled):
(WebKit::ViewGestureController::isSwipeGestureEnabled):
(WebKit::ViewGestureController::SnapshotRemovalTracker::pause):
(WebKit::ViewGestureController::SnapshotRemovalTracker::isPaused const):
(WebKit::ViewGestureController::SnapshotRemovalTracker::hasRemovalCallback const):
(WebKit::ViewGestureController::SnapshotRemovalTracker::renderTreeSizeThreshold const):
(WebKit::ViewGestureController::SnapshotRemovalTracker::setRenderTreeSizeThreshold):
(WebKit::ViewGestureController::PendingSwipeTracker::shouldIgnorePinnedState):
(WebKit::ViewGestureController::PendingSwipeTracker::setShouldIgnorePinnedState):
(WebKit::ViewGestureController::SwipeProgressTracker::progress const):
(WebKit::ViewGestureController::SwipeProgressTracker::direction const):
- UIProcess/ViewGestureController.messages.in: Renamed from Source/WebKit/UIProcess/Cocoa/ViewGestureController.messages.in.
- UIProcess/ViewSnapshotStore.cpp: Copied from Source/WebKit/UIProcess/mac/ViewSnapshotStore.mm.
(WebKit::ViewSnapshotStore::ViewSnapshotStore):
(WebKit::ViewSnapshotStore::~ViewSnapshotStore):
(WebKit::ViewSnapshotStore::singleton):
(WebKit::ViewSnapshotStore::didAddImageToSnapshot):
(WebKit::ViewSnapshotStore::willRemoveImageFromSnapshot):
(WebKit::ViewSnapshotStore::pruneSnapshots):
(WebKit::ViewSnapshotStore::recordSnapshot):
(WebKit::ViewSnapshotStore::discardSnapshotImages):
(WebKit::ViewSnapshot::~ViewSnapshot):
- UIProcess/ViewSnapshotStore.h: Renamed from Source/WebKit/UIProcess/mac/ViewSnapshotStore.h.
(WebKit::ViewSnapshot::setRenderTreeSize):
(WebKit::ViewSnapshot::renderTreeSize const):
(WebKit::ViewSnapshot::setBackgroundColor):
(WebKit::ViewSnapshot::backgroundColor const):
(WebKit::ViewSnapshot::setViewScrollPosition):
(WebKit::ViewSnapshot::viewScrollPosition const):
(WebKit::ViewSnapshot::setDeviceScaleFactor):
(WebKit::ViewSnapshot::deviceScaleFactor const):
(WebKit::ViewSnapshot::surface const):
(WebKit::ViewSnapshot::imageSizeInBytes const):
(WebKit::ViewSnapshot::size const):
(WebKit::ViewSnapshotStore::setDisableSnapshotVolatilityForTesting):
(WebKit::ViewSnapshotStore::disableSnapshotVolatilityForTesting const):
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::didRemoveItem): Unset snapshot for GTK.
- UIProcess/WebMemoryPressureHandler.cpp: Copied from Source/WebKit/UIProcess/Cocoa/WebMemoryPressureHandlerCocoa.mm.
(WebKit::installMemoryPressureHandler):
- UIProcess/WebMemoryPressureHandler.h: Renamed from Source/WebKit/UIProcess/Cocoa/WebMemoryPressureHandlerCocoa.h.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::recordNavigationSnapshot): Take snapshots for GTK.
- UIProcess/WebPageProxy.h:
- UIProcess/gtk/ViewGestureControllerGtk.cpp: Added. This is a port of
UIProcess/mac/ViewGestureControllerMac.mm. SwipeProgressTracker class is a
re-implementation of trackSwipeEventWithOptions.
(WebKit::isEventStop):
(WebKit::ViewGestureController::platformTeardown):
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanStartSwipe):
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanEndSwipe):
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanInfluenceSwipe):
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventGetScrollingDeltas):
(WebKit::ViewGestureController::handleScrollWheelEvent):
(WebKit::ViewGestureController::trackSwipeGesture):
(WebKit::ViewGestureController::SwipeProgressTracker::SwipeProgressTracker):
(WebKit::ViewGestureController::SwipeProgressTracker::startTracking):
(WebKit::ViewGestureController::SwipeProgressTracker::reset):
(WebKit::ViewGestureController::SwipeProgressTracker::handleEvent):
(WebKit::ViewGestureController::SwipeProgressTracker::startAnimation):
(WebKit::easeOutCubic):
(WebKit::ViewGestureController::SwipeProgressTracker::onAnimationTick):
(WebKit::ViewGestureController::SwipeProgressTracker::endAnimation):
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::handleSwipeGesture):
(WebKit::ViewGestureController::draw):
(WebKit::ViewGestureController::removeSwipeSnapshot):
(WebKit::ViewGestureController::beginSimulatedSwipeInDirectionForTesting):
(WebKit::ViewGestureController::completeSimulatedSwipeInDirectionForTesting):
- UIProcess/gtk/ViewSnapshotStoreGtk.cpp: Renamed from Source/WebKit/UIProcess/Cocoa/WebMemoryPressureHandlerCocoa.mm.
(WebKit::ViewSnapshot::create):
(WebKit::ViewSnapshot::ViewSnapshot):
(WebKit::ViewSnapshot::hasImage const):
(WebKit::ViewSnapshot::clearImage):
(WebKit::ViewSnapshot::imageSizeInBytes const):
(WebKit::ViewSnapshot::size const):
- UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::memoryPressureMonitorDisabled): Added.
(WebKit::WebProcessPool::platformInitialize): Install memory pressure handler.
(WebKit::WebProcessPool::platformInitializeWebProcess): Use memoryPressureMonitorDisabled().
- UIProcess/mac/ViewGestureControllerMac.mm:
Moved many functions into UIProcess/ViewGestureController.cpp
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanStartSwipe):
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanEndSwipe):
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanInfluenceSwipe):
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventGetScrollingDeltas):
(WebKit::ViewGestureController::trackSwipeGesture):
(WebKit::scrollEventCanInfluenceSwipe): Deleted.
(WebKit::deltaShouldCancelSwipe): Deleted.
(WebKit::ViewGestureController::PendingSwipeTracker::PendingSwipeTracker): Deleted.
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe): Deleted.
(WebKit::ViewGestureController::PendingSwipeTracker::handleEvent): Deleted.
(WebKit::ViewGestureController::PendingSwipeTracker::eventWasNotHandledByWebCore): Deleted.
(WebKit::ViewGestureController::PendingSwipeTracker::tryToStartSwipe): Deleted.
(WebKit::ViewGestureController::PendingSwipeTracker::reset): Deleted.
(WebKit::ViewGestureController::willEndSwipeGesture): Deleted.
(WebKit::ViewGestureController::shouldUseSnapshotForSize): Deleted.
(WebKit::ViewGestureController::isPhysicallySwipingLeft const): Deleted.
(WebKit::ViewGestureController::endSwipeGesture): Deleted.
(WebKit::ViewGestureController::forceRepaintIfNeeded): Deleted.
(WebKit::ViewGestureController::requestRenderTreeSizeNotificationIfNeeded): Deleted.
- UIProcess/mac/ViewSnapshotStoreMac.mm: Renamed from Source/WebKit/UIProcess/mac/ViewSnapshotStore.mm.
(WebKit::ViewSnapshotStore::snapshottingContext):
(WebKit::ViewSnapshot::create):
(WebKit::ViewSnapshot::ViewSnapshot):
(WebKit::ViewSnapshot::setSurface):
(WebKit::ViewSnapshot::hasImage const):
(WebKit::ViewSnapshot::clearImage):
(WebKit::ViewSnapshot::setVolatile):
(WebKit::ViewSnapshot::asLayerContents):
(WebKit::ViewSnapshot::asImageForTesting):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
Make SetRenderTreeSizeNotificationThreshold() cross-platform.
(WebKit::ViewGestureGeometryCollector::ViewGestureGeometryCollector):
(WebKit::ViewGestureGeometryCollector::computeMinimumAndMaximumViewportScales const):
(WebKit::ViewGestureGeometryCollector::mainFrameDidLayout):
- WebProcess/WebPage/ViewGestureGeometryCollector.h:
- WebProcess/WebPage/ViewGestureGeometryCollector.messages.in:
- WebProcess/WebPage/WebPage.cpp:
Start using ViewGestureGeometryCollector for GTK.
(WebKit::WebPage::mainFrameDidLayout):
- WebProcess/WebPage/WebPage.h:
Tools:
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings): Add a test for 'enable-back-forward-navigation-gestures' property.
- 5:17 PM Changeset in webkit [241223] by
-
- 17 edits in trunk
Add SPI to use networking daemon instead of XPC service
https://bugs.webkit.org/show_bug.cgi?id=194427
Source/WebKit:
Reviewed by Geoffrey Garen.
There is still work to be done, but with the proper plist it starts and loads webpages!
- NetworkProcess/EntryPoint/Cocoa/Daemon/DaemonEntryPoint.mm:
(WebKit::DaemonMain):
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCEventHandler):
(WebKit::XPCInitializationHandler):
(WebKit::XPCServiceMain):
(WebKit::XPCServiceEventHandler): Deleted.
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration usesNetworkingDaemon]):
(-[_WKProcessPoolConfiguration setUsesNetworkingDaemon:]):
- UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::getLaunchOptions):
- UIProcess/Launcher/ProcessLauncher.h:
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::serviceName):
(WebKit::ProcessLauncher::launchProcess):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getLaunchOptions):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::usesNetworkingDaemon const):
- UIProcess/WebProcessPool.h:
Source/WTF:
Reviewed by Geoffrey Garen.
- wtf/spi/darwin/XPCSPI.h:
Instead of using XPC bootstrap SPI, we just send a separate message.
xpc_copy_bootstrap does not seem to work in daemons.
Tools:
Reviewed by Geoffrey Garen
- MiniBrowser/MiniBrowser.entitlements:
- 4:29 PM Changeset in webkit [241222] by
-
- 39 edits in trunk/Source
[JSC] Shrink sizeof(CodeBlock) more
https://bugs.webkit.org/show_bug.cgi?id=194419
Reviewed by Mark Lam.
Source/JavaScriptCore:
This patch further shrinks the size of CodeBlock, from 352 to 296 (304).
- CodeBlock copies so many data from ScriptExecutable even if ScriptExecutable
has the same information. These data is not touched in CodeBlock::~CodeBlock,
so we can just use the data in ScriptExecutable instead of holding it in CodeBlock.
- We remove m_instructions pointer since the ownership is managed by UnlinkedCodeBlock.
And we do not touch it in CodeBlock::~CodeBlock.
- We move m_calleeSaveRegisters from CodeBlock to CodeBlock::JITData. For baseline and LLInt
cases, this patch offers RegisterAtOffsetList::llintBaselineCalleeSaveRegisters() which returns
singleton toconst RegisterAtOffsetList*usable for LLInt and Baseline JIT CodeBlocks.
- Move m_catchProfiles to RareData and materialize only when op_catch's slow path is called.
- Drop ownerScriptExecutable. ownerExecutable() returns ScriptExecutable*.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::hash const):
(JSC::CodeBlock::sourceCodeForTools const):
(JSC::CodeBlock::dumpAssumingJITType const):
(JSC::CodeBlock::dumpSource):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::finalizeLLIntInlineCaches):
(JSC::CodeBlock::setCalleeSaveRegisters):
(JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeOffset):
(JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeOffsetSlow):
(JSC::CodeBlock::lineNumberForBytecodeOffset):
(JSC::CodeBlock::expressionRangeForBytecodeOffset const):
(JSC::CodeBlock::hasOpDebugForLineAndColumn):
(JSC::CodeBlock::newReplacement):
(JSC::CodeBlock::replacement):
(JSC::CodeBlock::computeCapabilityLevel):
(JSC::CodeBlock::jettison):
(JSC::CodeBlock::calleeSaveRegisters const):
(JSC::CodeBlock::calleeSaveSpaceAsVirtualRegisters):
(JSC::CodeBlock::updateOSRExitCounterAndCheckIfNeedToReoptimize):
(JSC::CodeBlock::getArrayProfile):
(JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
(JSC::CodeBlock::notifyLexicalBindingUpdate):
(JSC::CodeBlock::tryGetValueProfileForBytecodeOffset):
(JSC::CodeBlock::validate):
(JSC::CodeBlock::outOfLineJumpTarget):
(JSC::CodeBlock::arithProfileForBytecodeOffset):
(JSC::CodeBlock::insertBasicBlockBoundariesForControlFlowProfiler):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::specializationKind const):
(JSC::CodeBlock::isStrictMode const):
(JSC::CodeBlock::isConstructor const):
(JSC::CodeBlock::codeType const):
(JSC::CodeBlock::isKnownNotImmediate):
(JSC::CodeBlock::instructions const):
(JSC::CodeBlock::ownerExecutable const):
(JSC::CodeBlock::thisRegister const):
(JSC::CodeBlock::source const):
(JSC::CodeBlock::sourceOffset const):
(JSC::CodeBlock::firstLineColumnOffset const):
(JSC::CodeBlock::createRareDataIfNecessary):
(JSC::CodeBlock::ownerScriptExecutable const): Deleted.
(JSC::CodeBlock::setThisRegister): Deleted.
(JSC::CodeBlock::calleeSaveRegisters const): Deleted.
- bytecode/EvalCodeBlock.h:
- bytecode/FunctionCodeBlock.h:
- bytecode/GlobalCodeBlock.h:
(JSC::GlobalCodeBlock::GlobalCodeBlock):
- bytecode/ModuleProgramCodeBlock.h:
- bytecode/ProgramCodeBlock.h:
- debugger/Debugger.cpp:
(JSC::Debugger::toggleBreakpoint):
- debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::sourceID const):
(JSC::DebuggerCallFrame::sourceIDForCallFrame):
- debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::location const):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::InlineStackEntry::executable):
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::isSupportedForInlining):
(JSC::DFG::mightCompileEval):
(JSC::DFG::mightCompileProgram):
(JSC::DFG::mightCompileFunctionForCall):
(JSC::DFG::mightCompileFunctionForConstruct):
(JSC::DFG::canUseOSRExitFuzzing):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::executableFor):
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileFunction):
- dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
- dfg/DFGOSRExit.cpp:
(JSC::DFG::restoreCalleeSavesFor):
(JSC::DFG::saveCalleeSavesFor):
(JSC::DFG::saveOrCopyCalleeSavesFor):
- dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::handleExitCounts):
- dfg/DFGOperations.cpp:
- dfg/DFGToFTLDeferredCompilationCallback.cpp:
(JSC::DFG::ToFTLDeferredCompilationCallback::compilationDidComplete):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLink.cpp:
(JSC::FTL::link):
- ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
- interpreter/CallFrame.cpp:
(JSC::CallFrame::callerSourceOrigin):
- interpreter/Interpreter.cpp:
(JSC::eval):
(JSC::UnwindFunctor::copyCalleeSavesToEntryFrameCalleeSavesBuffer const):
- interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::calleeSaveRegisters):
(JSC::StackVisitor::Frame::sourceURL const):
(JSC::StackVisitor::Frame::sourceID):
(JSC::StackVisitor::Frame::computeLineAndColumn const):
- interpreter/StackVisitor.h:
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitSaveCalleeSavesFor):
(JSC::AssemblyHelpers::emitSaveOrCopyCalleeSavesFor):
(JSC::AssemblyHelpers::emitRestoreCalleeSavesFor):
- jit/CallFrameShuffleData.cpp:
(JSC::CallFrameShuffleData::setupCalleeSaveRegisters):
- jit/JIT.cpp:
(JSC::JIT::compileWithoutLinking):
- jit/JITToDFGDeferredCompilationCallback.cpp:
(JSC::JITToDFGDeferredCompilationCallback::compilationDidComplete):
- jit/JITWorklist.cpp:
(JSC::JITWorklist::Plan::finalize):
(JSC::JITWorklist::compileNow):
- jit/RegisterAtOffsetList.cpp:
(JSC::RegisterAtOffsetList::llintBaselineCalleeSaveRegisters):
- jit/RegisterAtOffsetList.h:
(JSC::RegisterAtOffsetList::at const):
- runtime/ErrorInstance.cpp:
(JSC::appendSourceToError):
- runtime/ScriptExecutable.cpp:
(JSC::ScriptExecutable::newCodeBlockFor):
- runtime/StackFrame.cpp:
(JSC::StackFrame::sourceID const):
(JSC::StackFrame::sourceURL const):
(JSC::StackFrame::computeLineAndColumn const):
Source/WebCore:
- testing/Internals.cpp:
(WebCore::Internals::parserMetaData):
- 4:28 PM Changeset in webkit [241221] by
-
- 3 edits in trunk/Tools
[ews-build] Ensure that every builder in config.json has short name
https://bugs.webkit.org/show_bug.cgi?id=194461
Reviewed by Lucas Forschler.
- BuildSlaveSupport/ews-build/loadConfig.py:
- BuildSlaveSupport/ews-build/loadConfig_unittest.py: Updated unit-tests.
- 4:26 PM Changeset in webkit [241220] by
-
- 2 edits in trunk/Source/WebCore
[Cocoa] Optimize ResourceResponse::platformLazyInit()
https://bugs.webkit.org/show_bug.cgi?id=194438
Reviewed by Alex Christensen.
Optimize ResourceResponse::platformLazyInit(). Most of the CPU time currently goes into getting the
HTTP headers from CFNetwork:
"""
Sample Count, Samples %, CPU %, Symbol
46, 0.0%, 0.0%, WebCore::initializeHTTPHeaders(WebCore::OnlyCommonHeaders, NSHTTPURLResponse*, WebCore::HTTPHeaderMap&) (in WebCore)
34, 0.0%, 0.0%, HTTPHeaderDict::copyAsOrdinaryDict(CFAllocator const*) const (in CFNetwork)
11, 0.0%, 0.0%, CFDictionaryApplyFunction (in CoreFoundation)
"""
We currently have 2 levels of initialization: CommonFieldsOnly & AllFields. With WebKit2, most ResourceResponses get sent over IPC
and thus end up getting initialized twice, once with CommonFieldsOnly and then with AllFields.
This would cause us to call the expensive HTTPHeaderDict::copyAsOrdinaryDict() twice instead of once, simply to initialize the common
HTTP headers first and then the uncommon ones later.
This patch updates ResourceResponse::platformLazyInit() to initialize all HTTP headers at once, as soon as CommonFieldsOnly
initialization is requested, so that we no longer copy all HTTP headers twice.
- platform/network/cocoa/ResourceResponseCocoa.mm:
(WebCore::initializeHTTPHeaders):
(WebCore::ResourceResponse::platformLazyInit):
- 4:25 PM Changeset in webkit [241219] by
-
- 16 edits2 adds in trunk
Web Inspector: Import / Export Heap Snapshots
https://bugs.webkit.org/show_bug.cgi?id=194448
<rdar://problem/47928093>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2019-02-08
Reviewed by Devin Rousso.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
New strings.
- UserInterface/Proxies/HeapSnapshotProxy.js:
(WI.HeapSnapshotProxy):
(WI.HeapSnapshotProxy.deserialize):
(WI.HeapSnapshotProxy.prototype.get imported):
(WI.HeapSnapshotProxy.prototype.get snapshotStringData):
(WI.HeapSnapshotProxy.prototype.set snapshotStringData):
Include an "imported" state on the HeapSnapshot and allow for
stashing the snapshotStringData on the main thread side.
- UserInterface/Proxies/HeapSnapshotWorkerProxy.js:
(WI.HeapSnapshotWorkerProxy.prototype.createImportedSnapshot):
- UserInterface/Workers/HeapSnapshot/HeapSnapshotWorker.js:
(HeapSnapshotWorker.prototype.clearSnapshots):
(HeapSnapshotWorker.prototype.createSnapshot):
Provide a specialized way to create an imported HeapSnapshot.
Track imported snapshots separately since they won't want to
be searched for live/dead objects due to active recording GCs.
- UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
(HeapSnapshot):
(HeapSnapshot.updateCategoriesAndMetadata):
(HeapSnapshot.allocationBucketCounts):
(HeapSnapshot.instancesWithClassName):
(HeapSnapshot.prototype.nodeWithIdentifier):
(HeapSnapshot.prototype.dominatedNodes):
(HeapSnapshot.prototype.retainedNodes):
(HeapSnapshot.prototype.retainers):
(HeapSnapshot.prototype.updateDeadNodesAndGatherCollectionData):
(HeapSnapshot.prototype.serialize):
(HeapSnapshot.prototype.serializeNode):
(HeapSnapshot.prototype._buildPostOrderIndexes):
(HeapSnapshot.prototype._buildDominatorIndexes):
(HeapSnapshot.prototype._buildRetainedSizes):
(HeapSnapshot.prototype._gcRootPathes.visitNode):
(HeapSnapshot.prototype._gcRootPathes):
Construct a HeapSnapshot knowinng whether or not it is imported.
Imported snapshots may be the "GCDebugging" snapshot type which
differs from "Inspector" by the number of node fields. So keep
the node field count a member instead of a global constant
in order to work with both snapshot types.
- UserInterface/Models/HeapAllocationsInstrument.js:
(WI.HeapAllocationsInstrument.prototype._takeHeapSnapshot):
- UserInterface/Protocol/ConsoleObserver.js:
(WI.ConsoleObserver.prototype.heapSnapshot):
- UserInterface/Protocol/HeapObserver.js:
(WI.HeapObserver.prototype.trackingStart):
(WI.HeapObserver.prototype.trackingComplete):
Stash the original string JSON data on the main thread side
where we already have the data.
- UserInterface/Views/HeapAllocationsTimelineOverviewGraph.js:
(WI.HeapAllocationsTimelineOverviewGraph.prototype.layout):
Don't show [S] icons for imported snapshots with no timestamp.
- UserInterface/Views/HeapAllocationsTimelineView.js:
(WI.HeapAllocationsTimelineView):
(WI.HeapAllocationsTimelineView.prototype.get navigationItems):
(WI.HeapAllocationsTimelineView.prototype._importButtonNavigationItemClicked):
(WI.HeapAllocationsTimelineView.prototype._takeHeapSnapshotClicked):
Import button that just creates a new snapshot.
- UserInterface/Views/HeapSnapshotContentView.js:
(WI.HeapSnapshotContentView):
(WI.HeapSnapshotContentView.prototype.get navigationItems):
(WI.HeapSnapshotContentView.prototype.get supportsSave):
(WI.HeapSnapshotContentView.prototype.get saveData):
(WI.HeapSnapshotContentView.prototype._exportSnapshot):
Export button that saves the original data.
- UserInterface/Views/TimelineTabContentView.js:
(WI.TimelineTabContentView.displayNameForRecord):
Specialized display string for imported snapshots.
LayoutTests:
- inspector/heap/imported-snapshot-expected.txt: Added.
- inspector/heap/imported-snapshot.html: Added.
- platform/mac/TestExpectations:
- 4:24 PM Changeset in webkit [241218] by
-
- 3 edits in trunk/Tools
[ews-build] Add short name to config.json
https://bugs.webkit.org/show_bug.cgi?id=194456
Reviewed by Lucas Forschler.
- BuildSlaveSupport/ews-build/config.json: Added short name.
- BuildSlaveSupport/ews-build/loadConfig.py:
(loadBuilderConfig): Set the short name as the builder description.
- 4:21 PM Changeset in webkit [241217] by
-
- 2 edits in trunk/Source/JavaScriptCore
B3LowerMacros wrongly sets m_changed to true in the case of AtomicWeakCAS on x86
https://bugs.webkit.org/show_bug.cgi?id=194460
Reviewed by Mark Lam.
Trivial fix, should already be covered by testAtomicWeakCAS in testb3.cpp.
- b3/B3LowerMacros.cpp:
- 3:51 PM Changeset in webkit [241216] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Add Debug setting to show Internal Object Classes in Heap Snapshot
https://bugs.webkit.org/show_bug.cgi?id=194445
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2019-02-08
Reviewed by Devin Rousso.
- UserInterface/Base/Setting.js:
- UserInterface/Views/HeapSnapshotDataGridTree.js:
(WI.HeapSnapshotInstancesDataGridTree.prototype.populateTopLevel):
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createDebugSettingsView):
- 3:50 PM Changeset in webkit [241215] by
-
- 1 copy in tags/Safari-607.1.34
Tag Safari-607.1.34.
- 3:13 PM WebKitGTK/2.22.x edited by
- (diff)
- 3:06 PM Changeset in webkit [241214] by
-
- 4 edits in trunk/Source/JavaScriptCore
Use maxSingleCharacterString in comparisons instead of literal constants.
https://bugs.webkit.org/show_bug.cgi?id=194452
Reviewed by Yusuke Suzuki.
This way, if we ever change maxSingleCharacterString, it won't break all this code
that relies on it being 0xff implicitly.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileStringSlice):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt):
(JSC::FTL::DFG::LowerDFGToB3::compileStringSlice):
- jit/ThunkGenerators.cpp:
(JSC::stringGetByValGenerator):
(JSC::charToString):
- 2:54 PM Changeset in webkit [241213] by
-
- 1 copy in releases/WebKitGTK/webkit-2.22.6
Release: WebKitGTK+ 2.22.6
- 2:53 PM Changeset in webkit [241212] by
-
- 1 copy in releases/WPE WebKit/webkit-2.22.4
Release: WPE WebKit 2.22.4
- 2:52 PM Changeset in webkit [241211] by
-
- 6 edits in releases/WebKitGTK/webkit-2.22
Unreviewed. Release WebKitGTK+ 2.22.6 and WPE WebKit 2.22.4
.:
- Source/cmake/OptionsGTK.cmake: Bump version to 2.22.6
- Source/cmake/OptionsWPE.cmake: Bump version to 2.22.4
Source/WebKit:
- gtk/NEWS: Add release notes for 2.22.6
- wpe/NEWS: Add release notes for 2.22.4
- 2:32 PM Changeset in webkit [241210] by
-
- 4 edits in trunk/Source/JavaScriptCore
Fix DFG's doesGC() for CheckTierUp*, GetByVal, PutByVal*, and StringCharAt nodes.
https://bugs.webkit.org/show_bug.cgi?id=194446
<rdar://problem/47926792>
Reviewed by Saam Barati.
Fix doesGC() for the following nodes:
CheckTierUpAtReturn:
Calls triggerTierUpNow(), which calls triggerFTLReplacementCompile(),
which calls Worklist::completeAllReadyPlansForVM(), which uses DeferGC.
CheckTierUpInLoop:
Calls triggerTierUpNowInLoop(), which calls tierUpCommon(), which calls
Worklist::completeAllReadyPlansForVM(), which uses DeferGC.
CheckTierUpAndOSREnter:
Calls triggerOSREntryNow(), which calls tierUpCommon(), which calls
Worklist::completeAllReadyPlansForVM(), which uses DeferGC.
GetByVal:
case Array::String calls operationSingleCharacterString(), which calls
jsSingleCharacterString(), which can allocate a string.
PutByValDirect:
PutByVal:
PutByValAlias:
For the DFG only, the integer TypeArrays calls compilePutByValForIntTypedArray(),
which may call slow paths operationPutByValDirectStrict(), operationPutByValDirectNonStrict(),
operationPutByValStrict(), or operationPutByValNonStrict(). All of these
slow paths call putByValInternal(), which may create exception objects, or
call the generic JSValue::put() which may execute arbitrary code.
StringCharAt:
Can call operationSingleCharacterString(), which calls jsSingleCharacterString(),
which can allocate a string.
Also fix DFG::SpeculativeJIT::compileGetByValOnString() and FTL's compileStringCharAt()
to use the maxSingleCharacterString constant instead of a literal constant.
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToB3::compilePutByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt):
- 2:17 PM Changeset in webkit [241209] by
-
- 4 edits2 adds in trunk
Web Inspector: Styles: close unbalanced quotes and parenthesis when editing values
https://bugs.webkit.org/show_bug.cgi?id=182523
<rdar://problem/37260209>
Reviewed by Devin Rousso.
Source/WebInspectorUI:
Close CSS comments, append missing closed quotes and right parenthesis.
- UserInterface/Models/CSSCompletions.js:
(WI.CSSCompletions.completeUnbalancedValue):
- UserInterface/Models/CSSProperty.js:
(WI.CSSProperty.prototype.set rawValue):
LayoutTests:
Test common cases of unmatched quotes, parenthesis, comments, and trailing backslashes.
- inspector/unit-tests/css-completions-expected.txt: Added.
- inspector/unit-tests/css-completions.html: Added.
- 2:11 PM Changeset in webkit [241208] by
-
- 2 edits in trunk/LayoutTests
Layout Test accessibility/set-value-not-work-for-disabled-sliders.html is failing
https://bugs.webkit.org/show_bug.cgi?id=194451
Unreviewed test gardening.
- platform/win/TestExpectations:
- 1:39 PM Changeset in webkit [241207] by
-
- 2 edits in trunk/Source/WebCore
[Web GPU] Build fix for MTLStorageMode availability on different Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=194443
Unreviewed build fix.
For MTLTextures, MTLStorageModeManaged is only available on macOS. Other platforms,
if not using MTLStorageModePrivate, must use MTLStorageModeShared.
Behavior unchanged.
Patch by Justin Fan <Justin Fan> on 2019-02-08
- platform/graphics/gpu/cocoa/GPUTextureMetal.mm:
(WebCore::storageModeForPixelFormatAndSampleCount):
- 1:21 PM Changeset in webkit [241206] by
-
- 2 edits in trunk/LayoutTests
Layout Test media/audio-concurrent-supported.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=188017
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations: The test is not flaky anymore. Remove expectation.
- 1:19 PM Changeset in webkit [241205] by
-
- 15 edits in trunk/Source
Unreviewed, rolling out r241197.
Broke iOS Simulator Debug build and casued 1 API failure on
High Sierra
Reverted changeset:
"Add SPI to use networking daemon instead of XPC service"
https://bugs.webkit.org/show_bug.cgi?id=194427
https://trac.webkit.org/changeset/241197
- 12:36 PM Changeset in webkit [241204] by
-
- 2 edits in trunk/Source/WebKit
Abstract and discussion comments needed for afterScreenUpdates
https://bugs.webkit.org/show_bug.cgi?id=194442
Reviewed by Wenson Hsieh.
Forgot to add these comments with https://bugs.webkit.org/show_bug.cgi?id=194362
- UIProcess/API/Cocoa/WKSnapshotConfiguration.h:
- 11:48 AM Changeset in webkit [241203] by
-
- 5 edits in trunk
[WebVTT] Inline WebVTT styles should start with '::cue'
https://bugs.webkit.org/show_bug.cgi?id=194227
<rdar://problem/47791087>
Reviewed by Eric Carlson.
Source/WebCore:
Check that the CSS string starts with '::cue' and is successfully parsed before adding it
to the CSS stylesheet list. Also, the caption preferences CSS string should start with
'::cue', since it is added inside the video shadow root element.
Test: media/track/track-cue-css.html
- html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::checkAndStoreStyleSheet):
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride const):
LayoutTests:
- media/track/captions-webvtt/css-styling.vtt:
- 11:46 AM Changeset in webkit [241202] by
-
- 4 edits in trunk/Tools
webkitpy: CrashLogs.find_all_logs may return a string or a dictionary
https://bugs.webkit.org/show_bug.cgi?id=194418
Reviewed by Lucas Forschler.
Do not include errors trying when finding crashlogs at the end of
a run-webkit-tests run since we don't process those errors.
- Scripts/webkitpy/port/darwin.py:
(DarwinPort._look_for_all_crash_logs_in_log_dir):
- Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort._look_for_all_crash_logs_in_log_dir):
- Scripts/webkitpy/port/watch_device.py:
(WatchDevicePort._look_for_all_crash_logs_in_log_dir):
- 11:18 AM Changeset in webkit [241201] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC] SourceProviderCacheItem should be small
https://bugs.webkit.org/show_bug.cgi?id=194432
Reviewed by Saam Barati.
Some JetStream2 tests stress the JS parser. At that time, so many SourceProviderCacheItems are created.
While they are removed when full-GC happens, it significantly increases the peak memory usage.
This patch reduces the size of SourceProviderCacheItem from 56 to 32.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseFunctionInfo):
- parser/ParserModes.h:
- parser/ParserTokens.h:
- parser/SourceProviderCacheItem.h:
(JSC::SourceProviderCacheItem::endFunctionToken const):
(JSC::SourceProviderCacheItem::SourceProviderCacheItem):
- 10:49 AM Changeset in webkit [241200] by
-
- 10 edits in trunk
Running RTCRtpSender.getCapabilities("video") before initial offer breaks VP8
https://bugs.webkit.org/show_bug.cgi?id=194380
<rdar://problem/47916514>
Reviewed by Eric Carlson.
Source/WebCore:
Set whether VP8 is supported at creation of the page.
This ensures that any call creating a peer connection factory will end up supporting the runtime flag configuration.
Add internal API to enable resetting the factory to enable proper testing.
Covered by updated test.
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::createLibWebRTCPeerConnectionBackend):
- page/Page.cpp:
(WebCore::m_applicationManifest):
- platform/mediastream/libwebrtc/LibWebRTCProvider.h:
- testing/Internals.cpp:
(WebCore::Internals::clearPeerConnectionFactory):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- webrtc/video-mute-vp8-expected.txt:
- webrtc/video-mute-vp8.html:
- 10:20 AM Changeset in webkit [241199] by
-
- 6 edits in trunk
Add afterScreenUpdates to WKSnapshotConfiguration
https://bugs.webkit.org/show_bug.cgi?id=194362
-and corresponding-
<rdar://problem/40655528> Please add an "after screen updates" property to
WKSnapshotConfiguration (to solve blank snapshots)
Reviewed by Tim Horton.
Source/WebKit:
This is the WebKit equivalent of - (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates;
This makes our snapshotting API more predictable and reliable on iOS devices,
which is why the new configuration property defaults to YES.
New property that defaults to YES.
- UIProcess/API/Cocoa/WKSnapshotConfiguration.h:
- UIProcess/API/Cocoa/WKSnapshotConfiguration.mm:
(-[WKSnapshotConfiguration init]):
(-[WKSnapshotConfiguration copyWithZone:]):
When afterScreenUpdates is set, invoke the snapshot via
callAfterNextPresentationUpdate.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView takeSnapshotWithConfiguration:completionHandler:]):
(-[WKWebView _callCompletionHandler:withSnapshotImage:atDeviceScale:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:
(TEST):
- 10:18 AM Changeset in webkit [241198] by
-
- 6 edits in trunk
[WebIDL] Support serializing sequences and FrozenArrays of non-interfaces
https://bugs.webkit.org/show_bug.cgi?id=190997
<rdar://problem/35983035>
Reviewed by Brent Fulgham.
Source/WebCore:
Support serializing sequences and FrozenArrays of types that aren't interfaces. This is
needed to properly serialize PaymentAddress, which has a FrozenArray of DOMStrings.
We should support serializing sequences of interfaces too, but that's slightly more
complicated since it involves iterating the sequence and serializing each of its items. I
left that as a follow-up task, since I don't see any IDLs that currently need this.
We also don't support serializing sequences with the CachedAttribute or CustomGetter
extended attributes, because WebIDL specifies that a new array should be created when
converting an IDL sequence into an ECMAScript value.
Added bindings test cases to TestSerialization.idl and PaymentAddress test cases to
http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https.html.
- bindings/scripts/CodeGenerator.pm:
(GetInterfaceForType): Renamed from GetInterfaceForAttribute.
(IsSerializableType): Modified to allow sequences and FrozenArrays of non-interface types.
(hasCachedAttributeOrCustomGetterExtendedAttribute): Added a helper to determine if an
attribute has the CachedAttribute or CustomGetter extended attributes.
(IsSerializableAttribute): Checked for sequences with the CachedAttribute or CustomGetter
extended attributes before calling IsSerializableType.
(GetInterfaceForAttribute): Renamed to GetInterfaceForType.
- bindings/scripts/test/JS/JSTestSerialization.cpp:
- bindings/scripts/test/TestSerialization.idl:
LayoutTests:
- http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https.html:
- 9:18 AM Changeset in webkit [241197] by
-
- 15 edits in trunk/Source
Add SPI to use networking daemon instead of XPC service
https://bugs.webkit.org/show_bug.cgi?id=194427
Reviewed by Geoffrey Garen.
Source/WebKit:
There is still work to be done, but with the proper plist it starts and loads webpages!
- NetworkProcess/EntryPoint/Cocoa/Daemon/DaemonEntryPoint.mm:
(WebKit::DaemonMain):
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCEventHandler):
(WebKit::XPCInitializationHandler):
(WebKit::XPCServiceMain):
(WebKit::XPCServiceEventHandler): Deleted.
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration usesNetworkingDaemon]):
(-[_WKProcessPoolConfiguration setUsesNetworkingDaemon:]):
- UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::getLaunchOptions):
- UIProcess/Launcher/ProcessLauncher.h:
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::serviceName):
(WebKit::ProcessLauncher::launchProcess):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getLaunchOptions):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::usesNetworkingDaemon const):
- UIProcess/WebProcessPool.h:
Source/WTF:
- wtf/spi/darwin/XPCSPI.h:
Instead of using XPC bootstrap SPI, we just send a separate message.
xpc_copy_bootstrap does not seem to work in daemons.
- 9:05 AM Changeset in webkit [241196] by
-
- 15 edits1 add in trunk/Source/WebCore
IndexedDB tests leak documents
https://bugs.webkit.org/show_bug.cgi?id=189435
<rdar://problem/44240043>
Reviewed by Geoffrey Garen.
Remove use of JSC::Strong in IndexedDatabase.
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::update):
(WebCore::IDBCursor::continuePrimaryKey):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::deleteFunction):
(WebCore::IDBCursor::setGetResult):
- Modules/indexeddb/IDBCursor.h:
(WebCore::IDBCursor::key):
(WebCore::IDBCursor::primaryKey):
(WebCore::IDBCursor::value):
(WebCore::IDBCursor::keyWrapper):
(WebCore::IDBCursor::primaryKeyWrapper):
(WebCore::IDBCursor::valueWrapper):
(WebCore::IDBCursor::key const): Deleted.
(WebCore::IDBCursor::primaryKey const): Deleted.
(WebCore::IDBCursor::value const): Deleted.
- Modules/indexeddb/IDBCursor.idl:
- Modules/indexeddb/IDBCursorWithValue.idl:
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::putForCursorUpdate):
- Modules/indexeddb/IDBObjectStore.h:
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::~IDBRequest):
(WebCore::IDBRequest::result const):
(WebCore::IDBRequest::setResult):
(WebCore::IDBRequest::setResultToStructuredClone):
(WebCore::IDBRequest::setResultToUndefined):
(WebCore::IDBRequest::resultCursor):
(WebCore::IDBRequest::willIterateCursor):
(WebCore::IDBRequest::didOpenOrIterateCursor):
- Modules/indexeddb/IDBRequest.h:
(WebCore::IDBRequest::resultWrapper):
- Modules/indexeddb/IDBRequest.idl:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSIDBCursorCustom.cpp:
(WebCore::JSIDBCursor::key const):
(WebCore::JSIDBCursor::primaryKey const):
(WebCore::JSIDBCursor::visitAdditionalChildren):
- bindings/js/JSIDBCursorWithValueCustom.cpp:
(WebCore::JSIDBCursorWithValue::value const):
(WebCore::JSIDBCursorWithValue::visitAdditionalChildren):
- bindings/js/JSIDBRequestCustom.cpp: Added.
(WebCore::JSIDBRequest::result const):
(WebCore::JSIDBRequest::visitAdditionalChildren):
- inspector/agents/InspectorIndexedDBAgent.cpp:
- 6:46 AM Changeset in webkit [241195] by
-
- 5 edits in trunk/Source/WebCore
[LFC] The used containing block width value is optional
https://bugs.webkit.org/show_bug.cgi?id=194428
Reviewed by Antti Koivisto.
The preferred width codepath cannot provide a valid used containing block width value.
"The percentage is calculated with respect to the width of the generated box's containing block.
If the containing block's width depends on this element's width, then the resulting layout is undefined in CSS 2.2."
Let's use 0 as used value for now.
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::shrinkToFitWidth):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::computedPadding):
(WebCore::Layout::FormattingContext::Geometry::computedHorizontalMargin):
- layout/LayoutUnits.h:
(WebCore::Layout::UsedHorizontalValues::UsedHorizontalValues):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockWidthAndMargin):
- page/FrameViewLayoutContext.cpp:
- 5:57 AM Changeset in webkit [241194] by
-
- 10 edits in trunk/Source/WebCore
[LFC] Horizontal geometry compute functions should take the containing block's width as a used value
https://bugs.webkit.org/show_bug.cgi?id=194424
Reviewed by Antti Koivisto.
This is in preparation for passing optional containing block width for the preferred with codepath.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
(WebCore::Layout::FormattingContext::computeBorderAndPadding const):
- layout/FormattingContext.h:
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::shrinkToFitWidth):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::computedBorder):
(WebCore::Layout::FormattingContext::Geometry::computedPadding):
(WebCore::Layout::FormattingContext::Geometry::computedHorizontalMargin):
- layout/LayoutUnits.h:
(WebCore::Layout::UsedHorizontalValues::UsedHorizontalValues):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin const):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeMarginBorderAndPadding const):
(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin const):
- layout/inlineformatting/InlineFormattingContext.h:
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockWidthAndMargin):
- 1:54 AM Changeset in webkit [241193] by
-
- 2 edits in trunk/PerformanceTests
Update JetStream2 CLI to not print "ms" since we now just print the score values
https://bugs.webkit.org/show_bug.cgi?id=193981
Reviewed by Yusuke Suzuki.
- JetStream2/JetStreamDriver.js:
(DefaultBenchmark.prototype.updateUIAfterRun):
(DefaultBenchmark):
(WSLBenchmark.prototype.updateUIAfterRun):
(WSLBenchmark):
(WasmBenchmark.prototype.updateUIAfterRun):
(WasmBenchmark):
- 1:46 AM Changeset in webkit [241192] by
-
- 7 edits in trunk
clampTo(): do not convert the input to double when dealing with integers
https://bugs.webkit.org/show_bug.cgi?id=194263
<rdar://problem/47692312>
Reviewed by Darin Adler.
Source/WebCore:
Make the calls to clampTo<float>() unambiguous.
- page/FrameView.cpp:
(WebCore::FrameView::computeUpdatedLayoutViewportRect):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::setOpacity):
(WebCore::RenderStyle::setShapeImageThreshold):
Source/WTF:
Previously, every use of clampTo() was converting the input to double,
doing the comparison in double, then casting back to whatever type was needed.
In many case, that was very wasteful. WebKit has many cases of clampTo() with
the same type as input/output, or with integer types of different size/sign.
This patch adds a few versions of clampTo() for the common cases seen in WebKit.
In each case, I tried to minimize the amount of conversion needed at runtime.
- wtf/MathExtras.h:
(clampTo):
Tools:
- TestWebKitAPI/Tests/WTF/MathExtras.cpp:
(TestWebKitAPI::testClampFloatingPointToFloatingPoint):
(TestWebKitAPI::testClampFloatingPointToInteger):
(TestWebKitAPI::testClampSameSignIntegers):
(TestWebKitAPI::testClampUnsignedToSigned):
(TestWebKitAPI::testClampSignedToUnsigned):
- 12:48 AM Changeset in webkit [241191] by
-
- 3 edits1 add in trunk/Source/WebKit
Unreviewed build fix.
r241135 modified how entitlements were built up for the macOS. Those
changes broke the iOSMac builds. Bring back some deletions in order to
fix iOSMac.
- Configurations/PluginService.64.xcconfig:
- Configurations/PluginService.entitlements: Added.
- WebKit.xcodeproj/project.pbxproj:
- 12:37 AM Changeset in webkit [241190] by
-
- 5 edits2 adds in trunk
Source/WebCore:
When performing AXPress, check to see if the menu list is disabled.
https://bugs.webkit.org/show_bug.cgi?id=193878
Patch by Eric Liang <ericliang@apple.com> on 2019-02-08
Reviewed by Chris Fleizach.
Test: accessibility/mac/press-not-work-for-disabled-menu-list.html
- accessibility/AXObjectCache.h:
- accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::press):
- accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):
LayoutTests:
Check if receive AXPressDidFail notification when performing AXPress action on disabled MenuList.
https://bugs.webkit.org/show_bug.cgi?id=193878
Patch by Eric Liang <ericliang@apple.com> on 2019-02-08
Reviewed by Chris Fleizach.
- accessibility/mac/press-not-work-for-disabled-menu-list.html: Added.
Feb 7, 2019:
- 10:51 PM Changeset in webkit [241189] by
-
- 3 edits2 adds in trunk
PseudoElement created for any ::before/::after selector regardless of whether a content property exists
https://bugs.webkit.org/show_bug.cgi?id=194423
<rdar://problem/46787260>
Reviewed by Antti Koivisto.
Source/WebCore:
Test: inspector/css/pseudo-creation.html
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolvePseudoStyle):
We should only be creatingPseudoElements if we actually have acontentproprety in the
PseudoElement's style. Otherwise, we end up creatingPseudoElements for every CSS rule
that has a::before/::after, only to immediately destroy them as there is nothing to show.
LayoutTests:
- inspector/css/pseudo-creation.html: Added.
- inspector/css/pseudo-creation-expected.txt: Added.
- 10:39 PM Changeset in webkit [241188] by
-
- 3 edits in branches/safari-607-branch/Source/WebCore
Cherry-pick r241170. rdar://problem/47909341
REGRESSION(r239887): Crash under IDBConnectionToClient::didDeleteDatabase(WebCore::IDBResultData const&)
https://bugs.webkit.org/show_bug.cgi?id=194402
<rdar://problem/47858241>
Reviewed by Geoffrey Garen.
r239887 removed a reference cycle of IDBConnectionToClient so that IDBConnectionToClient would no longer be
around forever. Therefore, ServerOpenRequest should keep a reference to IDBConnectionToClient to make sure it
is valid during access.
- Modules/indexeddb/server/ServerOpenDBRequest.cpp: (WebCore::IDBServer::ServerOpenDBRequest::maybeNotifyRequestBlocked): (WebCore::IDBServer::ServerOpenDBRequest::notifyDidDeleteDatabase):
- Modules/indexeddb/server/ServerOpenDBRequest.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:36 PM Changeset in webkit [241187] by
-
- 3 edits2 adds in branches/safari-607-branch
Cherry-pick r241171. rdar://problem/47908156
[iOS] Clicking links in Safari using Apple Pencil is much more difficult after r238475
https://bugs.webkit.org/show_bug.cgi?id=194415
<rdar://problem/47550281>
Reviewed by Tim Horton.
Source/WebKit:
Fix the bug by not firing the Apple-pencil-exclusive tap gesture recognizer in the case where editable images
are disabled. This gesture recognizer is only used for inserting editable images, and currently conflicts with
the synthetic click gesture recognizer used to recognize clicks from generic digitizer inputs.
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView gestureRecognizerShouldBegin:]): (-[WKContentView _stylusSingleTapRecognized:]):
LayoutTests:
Add a layout test to verify that a stylus tap dispatches clicks.
- fast/events/touch/ios/pencil-tap-dispatches-click-expected.txt: Added.
- fast/events/touch/ios/pencil-tap-dispatches-click.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:36 PM Changeset in webkit [241186] by
-
- 11 edits in branches/safari-607-branch
Cherry-pick r241150. rdar://problem/47908154
Overflow element scrollbar is light for dark mode content.
https://bugs.webkit.org/show_bug.cgi?id=194407
rdar://problem/45991585
Reviewed by Beth Dakin.
Source/WebCore:
Tested by css-dark-mode/supported-color-schemes-scrollbar.html.
- page/ChromeClient.h: (WebCore::FrameView::preferredScrollbarOverlayStyle): Return WTF::nullopt by default to avoid short-circuiting auto detection in recalculateScrollbarOverlayStyle() for clients, like WK1, that do not implement preferredScrollbarOverlayStyle().
- page/FrameView.cpp: (WebCore::FrameView::recalculateScrollbarOverlayStyle): Use WTF::nullopt in the false case to auto detect overlay style when page() is null.
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::useDarkAppearance const): Added.
- rendering/RenderLayer.h:
- testing/Internals.cpp: (WebCore::Internals::scrollbarOverlayStyle const): Added Node argument. (WebCore::Internals::scrollbarUsingDarkAppearance const): Added.
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Updated tests to look at overflow elements and if dark apearance
is used by the scrollbar directly.
- css-dark-mode/supported-color-schemes-scrollbar-expected.txt:
- css-dark-mode/supported-color-schemes-scrollbar.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:36 PM Changeset in webkit [241185] by
-
- 2 edits in branches/safari-607-branch/Source/WebKit
Cherry-pick r241143. rdar://problem/47908161
Permit additional IOKit Properties needed by Media PlugIns on older Mac Hardware
https://bugs.webkit.org/show_bug.cgi?id=194412
<rdar://problem/47820615>
Reviewed by Per Arne Vollan.
- PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:36 PM Changeset in webkit [241184] by
-
- 2 edits in branches/safari-607-branch/Source/WebKit
Cherry-pick r241142. rdar://problem/47908158
Permit additional IOKit Properties needed by older Mac Hardware
https://bugs.webkit.org/show_bug.cgi?id=194410
<rdar://problem/47820620>
Reviewed by Per Arne Vollan.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241142 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:38 PM Changeset in webkit [241183] by
-
- 173 edits in trunk/Source
Mark more heap-allocated classes as fast allocated
https://bugs.webkit.org/show_bug.cgi?id=194422
Reviewed by Ryosuke Niwa.
Source/WebCore:
- Modules/applepay/PaymentCoordinator.h:
- Modules/beacon/NavigatorBeacon.h:
- Modules/cache/DOMWindowCaches.h:
- Modules/cache/WorkerGlobalScopeCaches.h:
- Modules/credentialmanagement/NavigatorCredentials.h:
- Modules/encryptedmedia/legacy/LegacyCDMPrivateClearKey.h:
- Modules/gamepad/NavigatorGamepad.h:
- Modules/indexeddb/IDBGetAllResult.h:
- Modules/indexeddb/IDBGetResult.h:
- Modules/indexeddb/IDBKeyData.h:
- Modules/indexeddb/IDBValue.h:
- Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
- Modules/indexeddb/server/IndexValueEntry.h:
- Modules/indexeddb/server/IndexValueStore.h:
- Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
- Modules/indexeddb/server/MemoryCursor.h:
- Modules/indexeddb/server/MemoryIDBBackingStore.h:
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Modules/indexeddb/server/SQLiteIDBCursor.h:
- Modules/indexeddb/server/SQLiteIDBTransaction.h:
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- Modules/indexeddb/shared/IDBDatabaseInfo.h:
- Modules/indexeddb/shared/IDBResourceIdentifier.h:
- Modules/indexeddb/shared/IDBTransactionInfo.h:
- Modules/mediacapabilities/NavigatorMediaCapabilities.h:
- Modules/mediasession/WebMediaSessionManager.cpp:
- Modules/mediastream/NavigatorMediaDevices.h:
- Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:
- Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.h:
- Modules/navigatorcontentutils/NavigatorContentUtils.h:
- Modules/quota/DOMWindowQuota.h:
- Modules/quota/NavigatorStorageQuota.h:
- Modules/quota/WorkerNavigatorStorageQuota.h:
- Modules/speech/DOMWindowSpeechSynthesis.h:
- Modules/webaudio/BiquadProcessor.h:
- Modules/webaudio/DelayProcessor.h:
- Modules/webauthn/fido/FidoHidPacket.h:
- Modules/webdriver/NavigatorWebDriver.h:
- Modules/webgpu/DOMWindowWebGPU.h:
- Modules/websockets/WebSocketChannel.h:
- Modules/webvr/NavigatorWebVR.h:
- accessibility/AXObjectCache.h:
- bindings/js/DOMGCOutputConstraint.h:
- bindings/js/DOMPromiseProxy.h:
- bridge/c/c_runtime.h:
- contentextensions/CombinedURLFilters.cpp:
- crypto/CryptoAlgorithmParameters.h:
- css/CSSComputedStyleDeclaration.h:
- css/CSSRegisteredCustomProperty.h:
- css/DOMCSSPaintWorklet.h:
- css/DOMCSSRegisterCustomProperty.h:
- css/StyleRule.h:
- dom/ConstantPropertyMap.h:
- dom/CustomElementReactionQueue.h:
- dom/Document.h:
- dom/GenericEventQueue.h:
- dom/RejectedPromiseTracker.h:
- dom/UserGestureIndicator.h:
- editing/ReplaceSelectionCommand.cpp:
- editing/SelectionRectGatherer.h:
- editing/TextIterator.h:
- editing/cocoa/HTMLConverter.mm:
- fileapi/AsyncFileStream.cpp:
- fileapi/AsyncFileStream.h:
- html/forms/FileIconLoader.h:
- html/parser/HTMLTreeBuilder.h:
- html/track/WebVTTParser.h:
- inspector/DOMPatchSupport.cpp:
- loader/FrameLoaderClient.h:
- loader/WorkerThreadableLoader.cpp:
- page/IntersectionObserver.h:
- page/PerformanceMonitor.h:
- page/PerformanceUserTiming.h:
- page/PrintContext.h:
- page/ValidationMessageClient.h:
- platform/ColorChooser.h:
- platform/ControlStates.h:
- platform/DataListSuggestionPicker.h:
- platform/FileStream.h:
- platform/KeyedCoding.h:
- platform/LowPowerModeNotifier.h:
- platform/PlatformSpeechSynthesizer.h:
- platform/WebGLStateTracker.h:
- platform/audio/AudioArray.h:
- platform/audio/AudioDestination.h:
- platform/audio/DownSampler.h:
- platform/audio/DynamicsCompressor.h:
- platform/audio/FFTFrame.h:
- platform/audio/HRTFDatabase.h:
- platform/audio/MultiChannelResampler.h:
- platform/audio/Panner.h:
- platform/audio/Reverb.h:
- platform/audio/ReverbConvolver.h:
- platform/audio/ReverbConvolverStage.h:
- platform/audio/UpSampler.h:
- platform/audio/mac/AudioSessionMac.cpp:
- platform/audio/mac/CAAudioStreamDescription.h:
- platform/audio/mac/CARingBuffer.h:
- platform/cocoa/ScrollSnapAnimatorState.h:
- platform/gamepad/PlatformGamepad.h:
- platform/graphics/GraphicsLayer.cpp:
- platform/graphics/GraphicsLayerFactory.h:
- platform/graphics/PlatformTimeRanges.h:
- platform/graphics/TextTrackRepresentation.h:
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:
- platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/network/cocoa/WebCoreNSURLSession.mm:
- platform/sql/SQLiteDatabase.h:
- platform/text/TextCodecICU.h:
- rendering/GridBaselineAlignment.h:
- rendering/GridTrackSizingAlgorithm.h:
- rendering/RenderObject.h:
- rendering/style/GridArea.h:
- workers/service/context/SWContextManager.h:
Source/WebCore/PAL:
- pal/crypto/openssl/CryptoDigestOpenSSL.cpp:
- pal/system/Clock.h:
Source/WebKit:
- NetworkProcess/NetworkLoad.cpp:
- NetworkProcess/NetworkLoadChecker.h:
- NetworkProcess/NetworkResourceLoader.cpp:
- Platform/IPC/Connection.h:
- Platform/IPC/mac/ImportanceAssertion.h:
- PluginProcess/PluginCreationParameters.h:
- Shared/API/Cocoa/RemoteObjectRegistry.h:
- Shared/WebEvent.h:
- UIProcess/API/APIHTTPCookieStore.cpp:
- UIProcess/API/APINotificationProvider.h:
- UIProcess/API/Cocoa/PageLoadStateObserver.h:
- UIProcess/API/Cocoa/WKHTTPCookieStore.mm:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setInputDelegate:]):
- UIProcess/API/gtk/PageClientImpl.h:
- UIProcess/BackingStore.h:
- UIProcess/Cocoa/AutomationClient.h:
- UIProcess/Cocoa/DiagnosticLoggingClient.h:
- UIProcess/Cocoa/DownloadClient.h:
- UIProcess/Cocoa/FindClient.h:
- UIProcess/Cocoa/NavigationState.h:
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/ViewGestureController.h:
- UIProcess/DeviceIdHashSaltStorage.h:
- UIProcess/Downloads/DownloadProxyMap.h:
- UIProcess/Gamepad/UIGamepad.h:
- UIProcess/Notifications/WebNotificationProvider.h:
- UIProcess/ProcessAssertion.h:
- UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h:
- UIProcess/WebContextInjectedBundleClient.h:
- UIProcess/WebFormClient.h:
- UIProcess/WebGeolocationProvider.h:
- UIProcess/WebPageProxy.h:
- WebProcess/Automation/WebAutomationSessionProxy.h:
- WebProcess/InjectedBundle/API/APIInjectedBundleBundleClient.h:
- WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h:
- WebProcess/InjectedBundle/API/APIInjectedBundlePageContextMenuClient.h:
- WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
- WebProcess/InjectedBundle/API/APIInjectedBundlePageResourceLoadClient.h:
- WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
- WebProcess/InjectedBundle/APIInjectedBundleFormClient.h:
- WebProcess/Network/webrtc/LibWebRTCNetwork.h:
- WebProcess/Network/webrtc/LibWebRTCSocket.h:
- WebProcess/Network/webrtc/WebRTCResolver.h:
- WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- WebProcess/WebPage/DrawingArea.h:
Source/WTF:
- wtf/Function.h:
(WTF::Function<Out):
- wtf/RefCounter.h:
- wtf/URL.h:
- wtf/text/StringView.cpp:
- 6:30 PM Changeset in webkit [241182] by
-
- 5 edits in trunk/Source/bmalloc
bmalloc uses more memory on iOS compared to macOS due to physical page size differences
https://bugs.webkit.org/show_bug.cgi?id=192389
Reviewed by Geoffrey Garen.
Changed small line allocations to be in smallPageSize "virtual page" multiples instead of physical
page size increments for sizes less that the physical page size. This required changing the small
page commit / decommit code to work in full physical page increments. For page classes that are
physical page size and larger, there isn't any functional change.
When scavenging page classes smaller than the physical page size, we need to consider whether or
not the adjacent small pages on the same physical page are also free before decommiting that
containing page. When we need to commit more memory, we commit the whole page, and add any
adjacent virtual pages that were fully committed as well.
- bmalloc/Chunk.h:
(bmalloc::forEachPage):
- bmalloc/Heap.cpp:
(bmalloc::Heap::initializeLineMetadata):
(bmalloc::Heap::initializePageMetadata):
(bmalloc::Heap::scavenge):
(bmalloc::attribute):
(bmalloc::Heap::commitSmallPagesInPhysicalPage):
(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::allocateSmallBumpRangesByMetadata):
- bmalloc/Heap.h:
- bmalloc/SmallPage.h:
(bmalloc::SmallPage::refCount):
- 6:01 PM Changeset in webkit [241181] by
-
- 16 edits2 copies in trunk
[Web GPU] GPUDevice::createTexture implementation prototype
https://bugs.webkit.org/show_bug.cgi?id=194409
<rdar://problem/47894312>
Reviewed by Myles C. Maxfield.
Source/WebCore:
Test: textures-textureviews.html updated to test new functionality.
Implement GPUDevice::createTexture():
- Modules/webgpu/WebGPUDevice.cpp:
(WebCore::WebGPUDevice::createTexture const):
- Modules/webgpu/WebGPUDevice.h:
- Modules/webgpu/WebGPUDevice.idl:
- Modules/webgpu/WebGPUTexture.cpp:
(WebCore::WebGPUTexture::create): Modified to return non-nullable to match direction of API.
(WebCore::WebGPUTexture::WebGPUTexture):
- Modules/webgpu/WebGPUTexture.h:
Metal backend MTLTextureDescriptor and MTLTexture creation:
- platform/graphics/gpu/GPUDevice.cpp:
(WebCore::GPUDevice::tryCreateTexture const):
- platform/graphics/gpu/GPUDevice.h:
- platform/graphics/gpu/GPUTexture.h:
- platform/graphics/gpu/cocoa/GPUTextureMetal.mm:
(WebCore::mtlTextureTypeForGPUTextureDescriptor):
(WebCore::mtlTextureUsageForGPUTextureUsageFlags):
(WebCore::storageModeForPixelFormatAndSampleCount):
(WebCore::tryCreateMtlTextureDescriptor):
(WebCore::GPUTexture::tryCreate):
(WebCore::GPUTexture::createDefaultTextureView): Add ObjC try/catch guards.
Add GPUUtils.h/cpp for shared utility functions:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/gpu/GPUUtils.h: Added. Moved platformTextureFormatForGPUTextureFormat here.
- platform/graphics/gpu/cocoa/GPUSwapChainMetal.mm:
(WebCore::GPUSwapChain::setFormat):
(WebCore::platformTextureFormatForGPUTextureFormat): Moved to GPUUtils.
- platform/graphics/gpu/cocoa/GPUUtilsMetal.mm: Added.
(WebCore::platformTextureFormatForGPUTextureFormat): Moved here to be referenced by multiple files.
LayoutTests:
Update textures-textureviews.html to WPT format and to test creation of textures via the GPUDevice.
- webgpu/textures-textureviews-expected.txt:
- webgpu/textures-textureviews.html:
- 5:45 PM Changeset in webkit [241180] by
-
- 6 edits in trunk/Source/WebKit
[iOS] [WK2] Modernize code for applying autocorrection
https://bugs.webkit.org/show_bug.cgi?id=194397
Reviewed by Tim Horton.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView requestAutocorrectionRectsForString:withCompletionHandler:]):
(-[WKContentView applyAutocorrection:toString:withCompletionHandler:]):
Use BlockPtr instead of temporarily storing the completion handler.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Change a LegacySync to Delayed.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::applyAutocorrection):
(WebKit::WebPage::syncApplyAutocorrection):
(WebKit::WebPage::applyAutocorrectionInternal):
- 5:30 PM Changeset in webkit [241179] by
-
- 2 edits in trunk/LayoutTests
fast/hidpi/hidpi-long-page-with-inset-element.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=172384
Unreviewed test gardening.
Patch by Shawn Roberts <Shawn Roberts> on 2019-02-07
- platform/mac-wk1/TestExpectations:
- 5:21 PM Changeset in webkit [241178] by
-
- 2 edits in trunk/Websites/webkit.org
Fixed animation positioning when homepage animation completes
https://bugs.webkit.org/show_bug.cgi?id=194395
Reviewed by Devin Rousso.
- wp-content/themes/webkit/front-header.php:
- 5:15 PM Changeset in webkit [241177] by
-
- 8 edits2 adds in branches/safari-607-branch
Cherry-pick r240710. rdar://problem/47776353
AX: Support color well on iOS
https://bugs.webkit.org/show_bug.cgi?id=194010
Reviewed by Joanmarie Diggs.
Source/WebCore:
Test: accessibility/ios-simulator/color-well.html
Add support for color well on iOS.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]): (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]): (-[WebAccessibilityObjectWrapper accessibilityRoleDescription]): (-[WebAccessibilityObjectWrapper accessibilityColorStringValue]):
- en.lproj/Localizable.strings:
- platform/LocalizedStrings.cpp: (WebCore::AXColorWellText):
- platform/LocalizedStrings.h:
Tools:
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: (WTR::AccessibilityUIElement::stringAttributeValue):
LayoutTests:
- accessibility/ios-simulator/color-well-expected.txt: Added.
- accessibility/ios-simulator/color-well.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240710 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:01 PM Changeset in webkit [241176] by
-
- 3 edits in trunk/Source/JavaScriptCore
Fix Abs(Neg(x)) -> Abs(x) optimization in B3ReduceStrength
https://bugs.webkit.org/show_bug.cgi?id=194420
Reviewed by Saam Barati.
In https://bugs.webkit.org/show_bug.cgi?id=194250, I added an optimization: Abs(Neg(x)) -> Abs(x).
But I introduced two bugs, one is that I actually implemented Abs(Neg(x)) -> x, and the other is that the test is looking at Abs(Abs(x)) instead (both were stupid copy-paste mistakes).
This trivial patch fixes both.
- b3/B3ReduceStrength.cpp:
- b3/testb3.cpp:
(JSC::B3::testAbsNegArg):
- 5:01 PM Changeset in webkit [241175] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Make Timeline markers light gray instead of black in dark mode
https://bugs.webkit.org/show_bug.cgi?id=194417
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2019-02-07
Reviewed by Devin Rousso.
- UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
(.timeline-overview-graph.rendering-frame > .divider):
- UserInterface/Views/TimelineRuler.css:
(.timeline-ruler > .markers > .divider):
- 4:55 PM Changeset in webkit [241174] by
-
- 2 edits in trunk/Websites/webkit.org
Disable the WP emoji polyfill
https://bugs.webkit.org/show_bug.cgi?id=194394
Reviewed by Devin Rousso.
- wp-content/themes/webkit/functions.php:
- 4:52 PM Changeset in webkit [241173] by
-
- 2 edits in trunk/Websites/webkit.org
Fixed responsive design issues for the Contribute drop-down menu and pagination
https://bugs.webkit.org/show_bug.cgi?id=194393
Reviewed by Devin Rousso.
The short viewport breakpoint styles should apply for small width
windows as well, and pagination styles need to accommodate wrapped
text labels.
- wp-content/themes/webkit/style.css:
(.pagination .page-numbers,):
(@media only screen and (max-height: 415px) and (max-width: 920px)):
(@media only screen and (max-height: 415px)): Deleted.
- 4:49 PM Changeset in webkit [241172] by
-
- 2 edits in trunk/Source/JavaScriptCore
Better error messages for module loader SPI
https://bugs.webkit.org/show_bug.cgi?id=194421
Reviewed by Saam Barati.
- API/JSAPIGlobalObject.mm:
(JSC::JSAPIGlobalObject::moduleLoaderImportModule):
- 4:49 PM Changeset in webkit [241171] by
-
- 3 edits2 adds in trunk
[iOS] Clicking links in Safari using Apple Pencil is much more difficult after r238475
https://bugs.webkit.org/show_bug.cgi?id=194415
<rdar://problem/47550281>
Reviewed by Tim Horton.
Source/WebKit:
Fix the bug by not firing the Apple-pencil-exclusive tap gesture recognizer in the case where editable images
are disabled. This gesture recognizer is only used for inserting editable images, and currently conflicts with
the synthetic click gesture recognizer used to recognize clicks from generic digitizer inputs.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView _stylusSingleTapRecognized:]):
LayoutTests:
Add a layout test to verify that a stylus tap dispatches clicks.
- fast/events/touch/ios/pencil-tap-dispatches-click-expected.txt: Added.
- fast/events/touch/ios/pencil-tap-dispatches-click.html: Added.
- 4:45 PM Changeset in webkit [241170] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION(r239887): Crash under IDBConnectionToClient::didDeleteDatabase(WebCore::IDBResultData const&)
https://bugs.webkit.org/show_bug.cgi?id=194402
<rdar://problem/47858241>
Reviewed by Geoffrey Garen.
r239887 removed a reference cycle of IDBConnectionToClient so that IDBConnectionToClient would no longer be
around forever. Therefore, ServerOpenRequest should keep a reference to IDBConnectionToClient to make sure it
is valid during access.
- Modules/indexeddb/server/ServerOpenDBRequest.cpp:
(WebCore::IDBServer::ServerOpenDBRequest::maybeNotifyRequestBlocked):
(WebCore::IDBServer::ServerOpenDBRequest::notifyDidDeleteDatabase):
- Modules/indexeddb/server/ServerOpenDBRequest.h:
- 4:02 PM Changeset in webkit [241169] by
-
- 6 edits in trunk/Source
[macOS] Block coreservicesd in sandbox.
https://bugs.webkit.org/show_bug.cgi?id=192670
Reviewed by Alexey Proskuryakov.
Source/WebKit:
We should block CoreServices in newer versions of macOS. In order to achieve this we need to avoid calling
_RegisterApplication before entering the sandbox, since this call will open up a connection to CoreServices.
The call to _RegisterApplication is moved to ChildProcess::updateProcessName, since it is needed to
successfully update the process name. The call to ChildProcess::updateProcessName is made after entering
the sandbox.
- Shared/AuxiliaryProcess.cpp:
(WebKit::AuxiliaryProcess::initialize):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::platformInitializeProcess):
- WebProcess/com.apple.WebProcess.sb.in:
Source/WTF:
Add HAVE_CSCHECKFIXDISABLE define.
- wtf/Platform.h:
- 3:52 PM Changeset in webkit [241168] by
-
- 1 copy in tags/Safari-608.1.5.1.1
Tag Safari-608.1.5.1.1.
- 3:49 PM Changeset in webkit [241167] by
-
- 9 edits2 adds in trunk
Filter out Overconstrainederror.constraint when getUserMedia is not granted
https://bugs.webkit.org/show_bug.cgi?id=194240
Reviewed by Eric Carlson.
Source/WebKit:
Make sure in UIProcess to filter out constraint if either the page was not granted gum access or it has no persistent access.
Refactor UserMediaPermissionRequestManagerProxy to make the implementation easier to understand.
Covered by added test.
- UIProcess/UserMediaPermissionCheckProxy.cpp:
(WebKit::UserMediaPermissionCheckProxy::setUserMediaAccessInfo):
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::captureDevicesChanged):
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted):
(WebKit::UserMediaPermissionRequestManagerProxy::grantAccess):
(WebKit::UserMediaPermissionRequestManagerProxy::getRequestAction):
(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame):
(WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionInvalidRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionValidRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo):
(WebKit::UserMediaPermissionRequestManagerProxy::wasGrantedVideoOrAudioAccess):
(WebKit::UserMediaPermissionRequestManagerProxy::computeFilteredDeviceList):
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame):
(WebKit::UserMediaPermissionRequestManagerProxy::createPermissionRequest): Deleted.
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- UIProcess/UserMediaPermissionRequestProxy.h:
(WebKit::UserMediaPermissionRequestProxy::isPending const):
(WebKit::UserMediaPermissionRequestProxy::setEligibleVideoDeviceUIDs):
(WebKit::UserMediaPermissionRequestProxy::setEligibleAudioDeviceUIDs):
(WebKit::UserMediaPermissionRequestProxy::hasAudioDevice const):
(WebKit::UserMediaPermissionRequestProxy::hasVideoDevice const):
(WebKit::UserMediaPermissionRequestProxy::hasPersistentAccess const):
(WebKit::UserMediaPermissionRequestProxy::setHasPersistentAccess):
(WebKit::UserMediaPermissionRequestProxy::userMediaID const):
(WebKit::UserMediaPermissionRequestProxy::topLevelDocumentSecurityOrigin const):
(WebKit::UserMediaPermissionRequestProxy::userMediaDocumentSecurityOrigin const):
(WebKit::UserMediaPermissionRequestProxy::userRequest const):
(WebKit::UserMediaPermissionRequestProxy::setDeviceIdentifierHashSalt):
(WebKit::UserMediaPermissionRequestProxy::deviceIdentifierHashSalt const):
(WebKit::UserMediaPermissionRequestProxy::audioDevice const):
(WebKit::UserMediaPermissionRequestProxy::videoDevice const):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestUserMediaPermissionForFrame):
- UIProcess/WebPageProxy.h:
LayoutTests:
- fast/mediastream/overconstrainederror-constraint-expected.txt: Added.
- fast/mediastream/overconstrainederror-constraint.html: Added.
- 3:37 PM Changeset in webkit [241166] by
-
- 7 edits in branches/safari-607-branch/Source
Versioning.
- 3:37 PM Changeset in webkit [241165] by
-
- 2 edits in branches/safari-607-branch/Source/JavaScriptCore
Cherry-pick r241140. rdar://problem/47893590
Fix more doesGC() for CheckTraps, GetMapBucket, and Switch nodes.
https://bugs.webkit.org/show_bug.cgi?id=194399
<rdar://problem/47889777>
Reviewed by Yusuke Suzuki.
Fix doesGC() for the following nodes:
CheckTraps:
We normally will not emit this node because Options::usePollingTraps() is
false by default. However, as it is implemented now, CheckTraps can GC
because it can allocate a TerminatedExecutionException. If we make the
TerminatedExecutionException a singleton allocated at initialization time,
doesGC() can return false for CheckTraps.
https://bugs.webkit.org/show_bug.cgi?id=194323
GetMapBucket:
Can call operationJSMapFindBucket() or operationJSSetFindBucket(),
which calls HashMapImpl::findBucket(), which calls jsMapHash(), which
can resolve a rope.
Switch:
If switchData kind is SwitchChar, can call operationResolveRope() .
If switchData kind is SwitchString and the child use kind is not StringIdentUse,
can call operationSwitchString() which resolves ropes.
DirectTailCall:
ForceOSRExit:
Return:
TailCallForwardVarargs:
TailCallVarargs:
Throw:
These are terminal nodes. It shouldn't really matter what doesGC() returns
for them, but following our conservative practice, unless we have a good
reason for doesGC() to return false, we should just return true.
- dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241140 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:37 PM Changeset in webkit [241164] by
-
- 5 edits2 adds in branches/safari-607-branch
Cherry-pick r241137. rdar://problem/47893603
Unable to sign in leetcode.
https://bugs.webkit.org/show_bug.cgi?id=194366
rdar://problem/47259025.
Reviewed by Chris Dumez.
Source/WebCore:
In case a signal is passed as part of a FetchRequestInit,
the IDL binding code is throwing an exception in case signal is not an AbortSignal object.
This breaks an AbortSignal shim used in some web sites.
Relaxed the IDL binding rule by marking signal as any and doing the conversion in FetchRequest.
Test: http/wpt/fetch/request-abort.html
Also covered by manually signing in to leetcode.
- Modules/fetch/FetchRequest.cpp: (WebCore::FetchRequest::initializeWith):
- Modules/fetch/FetchRequestInit.h: (WebCore::FetchRequestInit::hasMembers const):
- Modules/fetch/FetchRequestInit.idl:
LayoutTests:
- http/wpt/fetch/request-abort-expected.txt: Added.
- http/wpt/fetch/request-abort.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241137 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:37 PM Changeset in webkit [241163] by
-
- 2 edits in branches/safari-607-branch/Source/WebKit
Cherry-pick r241131. rdar://problem/47893578
Print backgrounds preference should be honored instead of WKWebViewConfiguration value
https://bugs.webkit.org/show_bug.cgi?id=194364
<rdar://problem/47627599>
Reviewed by Tim Horton.
Without this patch, changing the preference for printing the background has no effect.
This patch fixes that, and I verified it manually by checking "Print backgrounds" in Safari's print menu.
Unfortunately, the only way to test this is actually printing because only values from WebPageProxy::preferences
or WebPageProxy::configuration's preferences are exposed to the API, but values from WebPageProxy::preferencesStore
are used when printing. Actually printing verifies this change fixes the bug.
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241131 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:37 PM Changeset in webkit [241162] by
-
- 17 edits in branches/safari-607-branch/Source/WebCore
Cherry-pick r241130. rdar://problem/47893594
HTMLMediaElement registers wrong ScriptExecutionContext with its ActiveDOMObject parent class
https://bugs.webkit.org/show_bug.cgi?id=194360
HTMLMediaElement registers the Document used to create it with ActiveDOMObject, when it should
really use that Document's contextDocument(). Rather than just fix this in HTMLMediaElement,
make sure that the correct document is used everywhere by adding a new ActiveDOMObject constructor
taking a Document&, and making an explicitly deleted Document* constructor to catch any new cases.
Reviewed by Geoffrey Garen.
- Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::ApplePaySession):
- Modules/mediarecorder/MediaRecorder.cpp: (WebCore::MediaRecorder::MediaRecorder):
- Modules/mediastream/MediaDevices.cpp: (WebCore::MediaDevices::MediaDevices):
- Modules/mediastream/UserMediaRequest.cpp: (WebCore::UserMediaRequest::UserMediaRequest):
- Modules/notifications/Notification.cpp: (WebCore::Notification::Notification):
- Modules/paymentrequest/PaymentRequest.cpp: (WebCore::PaymentRequest::PaymentRequest):
- Modules/webaudio/AudioContext.cpp: (WebCore::AudioContext::AudioContext):
- animation/WebAnimation.cpp: (WebCore::WebAnimation::WebAnimation):
- css/FontFaceSet.cpp: (WebCore::FontFaceSet::FontFaceSet):
- dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::ActiveDOMObject):
- dom/ActiveDOMObject.h:
- dom/Document.h: (WebCore::ActiveDOMObject::ActiveDOMObject):
- html/HTMLMarqueeElement.cpp: (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
- html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement):
- html/HTMLSourceElement.cpp: (WebCore::HTMLSourceElement::HTMLSourceElement):
- page/IntersectionObserver.cpp: (WebCore::IntersectionObserver::IntersectionObserver):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241130 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:37 PM Changeset in webkit [241161] by
-
- 2 edits in branches/safari-607-branch/Source/WebKit
Cherry-pick r241124. rdar://problem/47893586
Shrink and hyphenate safe browsing warning text on watchOS
https://bugs.webkit.org/show_bug.cgi?id=194361
<rdar://problem/47466549>
Reviewed by Geoffrey Garen.
Some internationalizations use long words that didn't fit on small watches.
- UIProcess/Cocoa/WKSafeBrowsingWarning.mm: (fontOfSize): (-[WKSafeBrowsingWarning addContent]): (-[WKSafeBrowsingTextView initWithAttributedString:forWarning:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:37 PM Changeset in webkit [241160] by
-
- 6 edits in branches/safari-607-branch/Source/WebCore
Cherry-pick r241121. rdar://problem/47893559
Infinite recursion via CachedResource::~CachedResource
https://bugs.webkit.org/show_bug.cgi?id=194378
<rdar://problem/42023295>
Reviewed by Daniel Bates.
I don't know the exact steps to trigger this but the mechanism seems clear.
1) An existing resource is removed from or replaced in CachedResourceLoader::m_documentResources map.
2) This decrements the handle count of resource and causes it be deleted.
3) CachedResource::~CachedResource calls m_owningCachedResourceLoader->removeCachedResource(*this). This only happens with
resources that are "owned" by CachedResourceLoader which is a rare special case (used by image document and if memory cache is disabled).
4) CachedResourceLoader::removeCachedResource looks up the resource from the map which causes a temporary CachedResourceHandle to be created.
This increments the handle count of the resource from 0 back to 1.
5) When the temporary dies, CachedResource::~CachedResource is called again and we cycle back to 3).
The fix here is simply to remove CachedResourceLoader::removeCachedResource call from ~CachedResource.
It is a leftover from when the map contained raw pointers instead of owning CachedResourceHandles.
Since m_documentResources map has a handle to the resource, the only way we are in the destructor is that the resource
has been removed from the map already (or is in process of being removed like in this crash). Any call that does anything
other than bail out is going to crash.
CachedResource::n_owningCachedResourceLoader member and CachedResourceLoader::removeCachedResource function only exist to
support this erranous call so they are removed as well.
- loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement):
- loader/cache/CachedResource.cpp: (WebCore::CachedResource::~CachedResource):
This is the substantive change. The rest just removes now-dead code.
- loader/cache/CachedResource.h: (WebCore::CachedResource::setOwningCachedResourceLoader): Deleted.
- loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::~CachedResourceLoader): (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): (WebCore::CachedResourceLoader::requestResource): (WebCore::CachedResourceLoader::loadResource): (WebCore::CachedResourceLoader::garbageCollectDocumentResources): (WebCore::CachedResourceLoader::removeCachedResource): Deleted.
- loader/cache/CachedResourceLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:36 PM Changeset in webkit [241159] by
-
- 29 edits3 copies in branches/safari-607-branch
Cherry-pick r241105. rdar://problem/47893571
[Payment Request] It should be possible to require a phonetic name for shipping contacts
https://bugs.webkit.org/show_bug.cgi?id=194311
<rdar://46733045>
Reviewed by Alex Christensen.
Source/WebCore:
It should be possible to require that a shipping contact has a phonetic name in Payment Request.
To accomplish this, move requiredShippingContactFields from ApplePayPaymentRequest to
ApplePayRequestBase so that it can be used as part of an Apple Pay payment method data.
Since required shipping contact fields can now be specified both in
requiredShippingContactFields and PaymentOptions, we merge the required fields from these
two sources such that, e.g., email is required if it is specified in either place.
So that clients can detect this new feature, the API version number is bumped from 5 to 6.
Added test cases to ApplePayRequestShippingContact.https.html and ApplePayRequestShippingContactV3.https.html.
- DerivedSources.make:
- Modules/applepay/ApplePayPaymentRequest.h:
- Modules/applepay/ApplePayPaymentRequest.idl:
- Modules/applepay/ApplePayRequestBase.cpp: (WebCore::convertAndValidate):
- Modules/applepay/ApplePayRequestBase.h:
- Modules/applepay/ApplePayRequestBase.idl:
- Modules/applepay/ApplePaySession.cpp: (WebCore::convertAndValidate):
- Modules/applepay/PaymentCoordinatorClient.cpp: Added. (WebCore::PaymentCoordinatorClient::supportsVersion):
- Modules/applepay/PaymentCoordinatorClient.h:
- Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::mergePaymentOptions): (WebCore::ApplePayPaymentHandler::show):
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- loader/EmptyClients.cpp:
- testing/MockPaymentContactFields.h: Added. (WebCore::MockPaymentContactFields::MockPaymentContactFields):
- testing/MockPaymentContactFields.idl: Added.
- testing/MockPaymentCoordinator.cpp: (WebCore::MockPaymentCoordinator::showPaymentUI): (WebCore::MockPaymentCoordinator::supportsVersion): Deleted.
- testing/MockPaymentCoordinator.h:
- testing/MockPaymentCoordinator.idl:
Source/WebKit:
- WebProcess/ApplePay/WebPaymentCoordinator.cpp: (WebKit::WebPaymentCoordinator::supportsVersion): Deleted.
- WebProcess/ApplePay/WebPaymentCoordinator.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebPaymentCoordinatorClient.h:
- WebCoreSupport/WebPaymentCoordinatorClient.mm: (WebPaymentCoordinatorClient::supportsVersion): Deleted.
LayoutTests:
- http/tests/ssl/applepay/ApplePayRequestShippingContact.https-expected.txt:
- http/tests/ssl/applepay/ApplePayRequestShippingContact.https.html:
- http/tests/ssl/applepay/ApplePayRequestShippingContactV3.https-expected.txt:
- http/tests/ssl/applepay/ApplePayRequestShippingContactV3.https.html:
- http/tests/ssl/applepay/PaymentRequest.https-expected.txt:
- http/tests/ssl/applepay/PaymentRequest.https.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:36 PM Changeset in webkit [241158] by
-
- 2 edits in branches/safari-607-branch/Source/WebKit
Cherry-pick r241026. rdar://problem/47774548
Roll out parts of r238819 since it is a PLT performance regression.
https://bugs.webkit.org/show_bug.cgi?id=194346
Unreviewed performance fix.
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: (didStartProvisionalLoadForFrame): (didReceiveServerRedirectForProvisionalLoadForFrame): (didFinishLoadForFrame): (globalObjectIsAvailableForFrame): (didRemoveFrameFromHierarchy): (didCommitLoadForFrame): (didFinishDocumentLoadForFrame): (didFailProvisionalLoadWithErrorForFrame): (didFailLoadWithErrorForFrame): (didSameDocumentNavigationForFrame): (didLayoutForFrame): (didReachLayoutMilestone): (didFirstVisuallyNonEmptyLayoutForFrame): (didHandleOnloadEventsForFrame): (userAgentForURL): (setUpPageLoaderClient): (willSendRequestForFrame): (didInitiateLoadForResource): (didFinishLoadForResource): (didFailLoadForResource): (setUpResourceLoadClient): (-[WKWebProcessPlugInBrowserContextController setLoadDelegate:]): (ResourceLoadClient::ResourceLoadClient): Deleted. (ResourceLoadClient::loadDelegate const): Deleted. (ResourceLoadClient::pluginContextController const): Deleted. (PageLoaderClient::PageLoaderClient): Deleted. (PageLoaderClient::loadDelegate const): Deleted. (PageLoaderClient::pluginContextController const): Deleted. (PageLoaderClient::didStartProvisionalLoadForFrame): Deleted. (PageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): Deleted. (PageLoaderClient::didFinishLoadForFrame): Deleted. (PageLoaderClient::globalObjectIsAvailableForFrame): Deleted. (PageLoaderClient::didRemoveFrameFromHierarchy): Deleted. (PageLoaderClient::didCommitLoadForFrame): Deleted. (PageLoaderClient::didFinishDocumentLoadForFrame): Deleted. (PageLoaderClient::didFailProvisionalLoadWithErrorForFrame): Deleted. (PageLoaderClient::didFailLoadWithErrorForFrame): Deleted. (PageLoaderClient::didSameDocumentNavigationForFrame): Deleted. (PageLoaderClient::didLayoutForFrame): Deleted. (PageLoaderClient::didReachLayoutMilestone): Deleted. (PageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame): Deleted. (PageLoaderClient::layoutMilestones const): Deleted. (PageLoaderClient::didHandleOnloadEventsForFrame): Deleted. (PageLoaderClient::userAgentForURL const): Deleted. (ResourceLoadClient::willSendRequestForFrame): Deleted. (ResourceLoadClient::didInitiateLoadForResource): Deleted. (ResourceLoadClient::didFinishLoadForResource): Deleted. (ResourceLoadClient::didFailLoadForResource): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:36 PM Changeset in webkit [241157] by
-
- 3 edits in branches/safari-607-branch/Source/WebCore
Cherry-pick r241022. rdar://problem/47893580
CoreAudioCaptureSource should not configure its audio unit until it starts producing data
https://bugs.webkit.org/show_bug.cgi?id=194310
Reviewed by Eric Carlson.
Delay the configuration of the audio unit until the source is instructed to start producing data.
This allows the UIProcess to not start changing the audio unit when
checking for constraints during getUserMedia call before the prompt.
Covered by manual testing.
- platform/mediastream/mac/CoreAudioCaptureSource.cpp: (WebCore::CoreAudioCaptureSource::CoreAudioCaptureSource): (WebCore::CoreAudioCaptureSource::initializeToStartProducingData): (WebCore::CoreAudioCaptureSource::startProducingData):
- platform/mediastream/mac/CoreAudioCaptureSource.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:36 PM Changeset in webkit [241156] by
-
- 2 edits in branches/safari-607-branch/Source/WebCore
Cherry-pick r241021. rdar://problem/47893607
Disable audio ducking at Audio Unit setup time
https://bugs.webkit.org/show_bug.cgi?id=194303
Reviewed by Eric Carlson.
When creating a CoreAudioCaptureSource, the audio unit might be
reconfigured if a past audio capture was done.
This might trigger audio ducking which is undone in startInternal.
In some cases, startInternal will never call start.
In that case, the audio unit will continue ducking the other processing.
To ensure ducking is disabled, unduck in setupAudioUnit as well as startInternal.
In addition to that, once a shared unit is created, it stays alive until the UIProcess exits.
This might affect all applications.
Instead, whenever the shared unit is stopped, clean it so as to restore the state as if no capture ever happened.
This has noticeable effects in the quality of audio being played on bluetooth devices.
Covered by manual tests.
- platform/mediastream/mac/CoreAudioCaptureSource.cpp: (WebCore::CoreAudioSharedUnit::setupAudioUnit): (WebCore::CoreAudioSharedUnit::unduck): (WebCore::CoreAudioSharedUnit::startInternal): (WebCore::CoreAudioSharedUnit::captureFailed): (WebCore::CoreAudioSharedUnit::stopProducingData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241021 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:36 PM Changeset in webkit [241155] by
-
- 3 edits3 adds in branches/safari-607-branch
Cherry-pick r241018. rdar://problem/47893623
RELEASE_ASSERT(!m_document.isResolvingTreeStyle()) in com.apple.WebKit.WebContent at WebCore: WebCore::StyleResolver::~StyleResolver
https://bugs.webkit.org/show_bug.cgi?id=194333
<rdar://problem/47822929>
Reviewed by Zalan Bujtas.
Source/WebCore:
Content extensions may mutate the extension stylesheet in the middle of a style resolution as a result of
the legacy animation code triggering a resource load.
Test: http/tests/contentextensions/css-display-none-keyframe.html
- style/StyleScope.cpp: (WebCore::Style::Scope::scheduleUpdate):
Avoid clearing the style resolver if we are in the middle of a style resolution.
A better fix that avoid doing this in the first place is tracked by https://bugs.webkit.org/show_bug.cgi?id=194335.
LayoutTests:
- http/tests/contentextensions/css-display-none-keyframe-expected.txt: Added.
- http/tests/contentextensions/css-display-none-keyframe.html: Added.
- http/tests/contentextensions/css-display-none-keyframe.html.json: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241018 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:36 PM Changeset in webkit [241154] by
-
- 22 edits in branches/safari-607-branch
Cherry-pick r240808. rdar://problem/47774548
Revert r238819 which is unneeded and caused a performance regression.
https://bugs.webkit.org/show_bug.cgi?id=192272
<rdar://problem/46664625>
Source/WebCore:
- loader/EmptyFrameLoaderClient.h:
- loader/FrameLoader.cpp: (WebCore::FrameLoader::prepareForLoadStart): (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
- loader/FrameLoader.h:
- loader/FrameLoaderClient.h:
Source/WebKit:
- WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h: (API::InjectedBundle::PageLoaderClient::didStartProvisionalLoadForFrame):
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
- WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: (PageLoaderClient::didStartProvisionalLoadForFrame):
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
Source/WebKitLegacy/win:
- WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- WebCoreSupport/WebFrameLoaderClient.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm: (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]): (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:36 PM Changeset in webkit [241153] by
-
- 5 edits in branches/safari-607-branch
Cherry-pick r239967. rdar://problem/47776476
Bulgarian TLD should not punycode-encode URLs with Bulgarian Cyrillic characters
https://bugs.webkit.org/show_bug.cgi?id=193411
<rdar://problem/47215929>
Reviewed by Alexey Proskuryakov.
Source/WTF:
- wtf/cocoa/NSURLExtras.mm: (WTF::allCharactersAllowedByTLDRules):
LayoutTests:
- fast/url/user-visible/cyrillic-NFD-expected.txt:
- fast/url/user-visible/cyrillic-NFD.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239967 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:36 PM Changeset in webkit [241152] by
-
- 8 edits in branches/safari-607-branch
Cherry-pick r239831. rdar://problem/47776468
[css-grid] Let abspos items reference implicit grid lines
https://bugs.webkit.org/show_bug.cgi?id=193313
Patch by Oriol Brufau <Oriol Brufau> on 2019-01-10
Reviewed by Manuel Rego Casasnovas.
LayoutTests/imported/w3c:
Import test changes from WPT.
- web-platform-tests/css/css-grid/abspos/grid-positioned-items-padding-001.html:
- web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html:
Source/WebCore:
While they can't create new implicit grid lines, abspos items
can reference existing ones as clarified in
https://github.com/w3c/csswg-drafts/commit/511bb63
This patch makes WebKit match Blink, Firefox and Edge.
Tests: web-platform-tests/css/css-grid/abspos/grid-positioned-items-padding-001.html
web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html
- rendering/RenderGrid.cpp: (WebCore::RenderGrid::populateExplicitGridAndOrderIterator const): Remove argument from spanSizeForAutoPlacedItem call. (WebCore::RenderGrid::createEmptyGridAreaAtSpecifiedPositionsOutsideGrid const): Remove argument from spanSizeForAutoPlacedItem call. (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid const): Remove argument from spanSizeForAutoPlacedItem call. (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid const): Remove argument from spanSizeForAutoPlacedItem call. (WebCore::RenderGrid::gridAreaBreadthForOutOfFlowChild): Don't treat implicit grid lines as 'auto'.
- rendering/RenderGrid.h: Remove unused gridPositionIsAutoForOutOfFlow.
- rendering/style/GridPositionsResolver.cpp: (WebCore::adjustGridPositionsFromStyle): Don't treat implicit grid lines as 'auto'. Remove unused gridContainerStyle parameter. (WebCore::GridPositionsResolver::spanSizeForAutoPlacedItem): Remove argument from adjustGridPositionsFromStyle call. Remove unused gridContainerStyle parameter. (WebCore::resolveGridPositionFromStyle): Remove unnecessary assert that uses isValidNamedLineOrArea. (WebCore::GridPositionsResolver::resolveGridPositionsFromStyle): Remove argument from adjustGridPositionsFromStyle call.
- rendering/style/GridPositionsResolver.h: Remove unused isValidNamedLineOrArea. Remove unused parameter from spanSizeForAutoPlacedItem.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239831 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:36 PM Changeset in webkit [241151] by
-
- 3 edits in branches/safari-607-branch/Source/WebKit
Cherry-pick r239697. rdar://problem/47776479
Web Inspector: Remote inspector can crash if attempting to navigate inspector page
https://bugs.webkit.org/show_bug.cgi?id=193204
<rdar://problem/45550428>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2019-01-07
Reviewed by Devin Rousso.
- UIProcess/mac/RemoteWebInspectorProxyMac.mm: (WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow):
- UIProcess/mac/WKInspectorViewController.mm: (-[WKInspectorViewController webView:decidePolicyForNavigationAction:decisionHandler:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239697 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:34 PM Changeset in webkit [241150] by
-
- 11 edits in trunk
Overflow element scrollbar is light for dark mode content.
https://bugs.webkit.org/show_bug.cgi?id=194407
rdar://problem/45991585
Reviewed by Beth Dakin.
Source/WebCore:
Tested by css-dark-mode/supported-color-schemes-scrollbar.html.
- page/ChromeClient.h:
(WebCore::FrameView::preferredScrollbarOverlayStyle): Return WTF::nullopt by default to avoid
short-circuiting auto detection in recalculateScrollbarOverlayStyle() for clients, like WK1,
that do not implement preferredScrollbarOverlayStyle().
- page/FrameView.cpp:
(WebCore::FrameView::recalculateScrollbarOverlayStyle): Use WTF::nullopt in the false case
to auto detect overlay style when page() is null.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::useDarkAppearance const): Added.
- rendering/RenderLayer.h:
- testing/Internals.cpp:
(WebCore::Internals::scrollbarOverlayStyle const): Added Node argument.
(WebCore::Internals::scrollbarUsingDarkAppearance const): Added.
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Updated tests to look at overflow elements and if dark apearance
is used by the scrollbar directly.
- css-dark-mode/supported-color-schemes-scrollbar-expected.txt:
- css-dark-mode/supported-color-schemes-scrollbar.html:
- 3:23 PM Changeset in webkit [241149] by
-
- 1 copy in tags/Safari-607.1.33
Tag Safari-607.1.33.
- 2:58 PM Changeset in webkit [241148] by
-
- 34 edits in trunk/Source
[MSE] Convert debug-only logging to runtime logging
https://bugs.webkit.org/show_bug.cgi?id=194348
<rdar://problem/47566449>
Reviewed by Jer Noble.
Source/WebCore:
No new tests, this just changes existing logging.
- Modules/mediasource/MediaSource.cpp:
(WebCore::convertEnumerationToString):
(WebCore::MediaSource::MediaSource):
(WebCore::MediaSource::~MediaSource):
(WebCore::MediaSource::setPrivateAndOpen):
(WebCore::MediaSource::addedToRegistry):
(WebCore::MediaSource::removedFromRegistry):
(WebCore::MediaSource::durationChanged):
(WebCore::MediaSource::seekToTime):
(WebCore::MediaSource::completeSeek):
(WebCore::MediaSource::setLiveSeekableRange):
(WebCore::MediaSource::clearLiveSeekableRange):
(WebCore::MediaSource::setDuration):
(WebCore::MediaSource::setDurationInternal):
(WebCore::MediaSource::setReadyState):
(WebCore::MediaSource::endOfStream):
(WebCore::MediaSource::streamEndedWithError):
(WebCore::MediaSource::addSourceBuffer):
(WebCore::MediaSource::removeSourceBuffer):
(WebCore::MediaSource::isTypeSupported):
(WebCore::MediaSource::detachFromElement):
(WebCore::MediaSource::attachToElement):
(WebCore::MediaSource::openIfInEndedState):
(WebCore::MediaSource::suspend):
(WebCore::MediaSource::resume):
(WebCore::MediaSource::stop):
(WebCore::MediaSource::onReadyStateChange):
(WebCore::MediaSource::scheduleEvent):
(WebCore::MediaSource::logChannel const):
(WebCore::MediaSourceInternal::toString): Deleted.
- Modules/mediasource/MediaSource.h:
(WTF::LogArgument<WebCore::MediaSource::EndOfStreamError>::toString):
(WTF::LogArgument<WebCore::MediaSource::ReadyState>::toString):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::~SourceBuffer):
(WebCore::SourceBuffer::remove):
(WebCore::SourceBuffer::seekToTime):
(WebCore::SourceBuffer::appendBufferInternal):
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveRenderingError):
(WebCore::removeSamplesFromTrackBuffer):
(WebCore::SourceBuffer::removeCodedFrames):
(WebCore::SourceBuffer::evictCodedFrames):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::sourceBufferPrivateReenqueSamples):
(WebCore::SourceBuffer::sourceBufferPrivateDidBecomeReadyForMoreSamples):
(WebCore::SourceBuffer::provideMediaData):
(WebCore::SourceBuffer::trySignalAllSamplesInTrackEnqueued):
(WebCore::SourceBuffer::monitorBufferingRate):
(WebCore::SourceBuffer::logChannel const):
- Modules/mediasource/SourceBuffer.h:
- dom/Document.cpp:
(WebCore::messageSourceForWTFLogChannel):
(WebCore::Document::didLogMessage):
- html/HTMLMediaElement.cpp:
(WebCore::convertEnumerationToString):
(WebCore::HTMLMediaElement::scheduleCheckPlaybackTargetCompatability):
(WebCore::HTMLMediaElement::selectMediaResource):
(WebCore::HTMLMediaElement::loadResource):
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
(WebCore::HTMLMediaElement::scheduleConfigureTextTracks):
(WebCore::HTMLMediaElement::scheduleMediaEngineWasUpdated):
(WebCore::HTMLMediaElement::scheduleUpdatePlayState):
(WebCore::HTMLMediaElement::scheduleUpdateMediaState):
- platform/ContentType.cpp:
(WebCore::ContentType::toJSONString const):
- platform/ContentType.h:
(WTF::LogArgument<WebCore::ContentType>::toString):
- platform/MediaSample.h:
(WebCore::MediaSample::toJSONString const):
(WTF::LogArgument<WebCore::MediaSample>::toString):
- platform/graphics/FloatSize.cpp:
(WebCore::FloatSize::toJSONObject const):
(WebCore::FloatSize::toJSONString const):
- platform/graphics/FloatSize.h:
(WTF::LogArgument<WebCore::FloatSize>::toString):
- platform/graphics/MediaSourcePrivate.h:
(WebCore::MediaSourcePrivate::mediaSourceLogIdentifier):
(WTF::LogArgument<WebCore::MediaSourcePrivate::AddStatus>::toString):
(WTF::LogArgument<WebCore::MediaSourcePrivate::EndOfStreamStatus>::toString):
- platform/graphics/SourceBufferPrivate.h:
(WebCore::SourceBufferPrivate::sourceBufferLogger const):
(WebCore::SourceBufferPrivate::sourceBufferLogIdentifier):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setMuted):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setClosedCaptionsVisible):
(WebCore::MediaPlayerPrivateAVFoundationObjC::isCurrentPlaybackTargetWireless const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessVideoPlaybackDisabled const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessVideoPlaybackDisabled):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldBufferData):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::mediaPlayerLogIdentifier):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::mediaPlayerLogger):
(WTF::LogArgument<WebCore::MediaPlayerPrivateMediaSourceAVFObjC::SeekState>::toString):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::convertEnumerationToString):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVolume):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setMuted):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVisible):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::waitForSeekCompleted):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekCompleted):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setPreservesPitch):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setHasAvailableVideoFrame):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateAllRenderersHaveAvailableSamples):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setNaturalSize):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::outputObscuredDueToInsufficientExternalProtectionChanged):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cdmInstanceAttached):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cdmInstanceDetached):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::attemptToDecryptWithInstance):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::waitingForKeyChanged):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::initializationDataEncountered):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setReadyState):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setNetworkState):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setShouldPlayToPlaybackTarget):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isCurrentPlaybackTargetWireless const):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::logChannel const):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSample):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::toJSONString const):
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::MediaSourcePrivateAVFObjC):
(WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC):
(WebCore::MediaSourcePrivateAVFObjC::addSourceBuffer):
(WebCore::MediaSourcePrivateAVFObjC::logChannel const):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::bufferWasConsumedCallback):
(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
(WebCore::SourceBufferPrivateAVFObjC::didFailToParseStreamDataWithError):
(WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):
(WebCore::SourceBufferPrivateAVFObjC::willProvideContentKeyRequestInitializationDataForTrackID):
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):
(WebCore::SourceBufferPrivateAVFObjC::append):
(WebCore::SourceBufferPrivateAVFObjC::abort):
(WebCore::SourceBufferPrivateAVFObjC::resetParserState):
(WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource):
(WebCore::SourceBufferPrivateAVFObjC::setReadyState):
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::SourceBufferPrivateAVFObjC::setCDMSession):
(WebCore::SourceBufferPrivateAVFObjC::setCDMInstance):
(WebCore::SourceBufferPrivateAVFObjC::layerDidReceiveError):
(WebCore::SourceBufferPrivateAVFObjC::outputObscuredDueToInsufficientExternalProtectionChanged):
(WebCore::SourceBufferPrivateAVFObjC::flush):
(WebCore::SourceBufferPrivateAVFObjC::flushVideo):
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
(WebCore::SourceBufferPrivateAVFObjC::bufferWasConsumed):
(WebCore::SourceBufferPrivateAVFObjC::setActive):
(WebCore::SourceBufferPrivateAVFObjC::willSeek):
(WebCore::SourceBufferPrivateAVFObjC::didBecomeReadyForMoreSamples):
(WebCore::SourceBufferPrivateAVFObjC::canSwitchToType):
(WebCore::SourceBufferPrivateAVFObjC::setDecompressionSession):
(WebCore::SourceBufferPrivateAVFObjC::logChannel const):
Source/WTF:
- wtf/LoggerHelper.h:
(WTF::LoggerHelper::childLogIdentifier const): Helper to generate a log identifier for an
object that is associated with another logging object.
- wtf/MediaTime.cpp:
(WTF::MediaTime::toJSONObject const):
(WTF::MediaTime::toJSONString const):
(WTF::MediaTimeRange::toJSONString const):
(WTF::toJSONStringInternal): Deleted.
- wtf/MediaTime.h:
- 2:57 PM Changeset in webkit [241147] by
-
- 2 edits in trunk/Tools
webkitpy: Respect --dedicated-simulators flag
https://bugs.webkit.org/show_bug.cgi?id=194416
<rdar://problem/47894722>
Reviewed by Lucas Forschler.
- Scripts/webkitpy/port/device_port.py:
(DevicePort.supported_device_types): If --dedicated-simulators is passed, all
available devices can be safely ignored.
- 2:56 PM Changeset in webkit [241146] by
-
- 11 edits1 add in trunk/Source/WebKit
[iOS] [WK2] Modernize autocorrection context code
https://bugs.webkit.org/show_bug.cgi?id=194373
Reviewed by Tim Horton.
- Shared/ios/WebAutocorrectionContext.h: Added.
(WebKit::WebAutocorrectionContext::encode const):
(WebKit::WebAutocorrectionContext::decode):
Introduce a WebAutocorrectionContext struct that encapsulates the individual pieces of autocorrection context.
Change to use this instead of a long list of arguments when propagating autocorrection context information over
IPC.
- UIProcess/AutoCorrectionCallback.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView requestAutocorrectionContextWithCompletionHandler:]):
(+[WKAutocorrectionContext autocorrectionContextWithContext:]):
(+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]): Deleted.
Change this constructor to take an entire WebAutocorrectionContext.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::autocorrectionContextCallback):
(WebKit::WebPageProxy::requestAutocorrectionContext):
(WebKit::WebPageProxy::autocorrectionContextSync):
(WebKit::WebPageProxy::getAutocorrectionContext): Deleted.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Use Delayed instead of LegacySync.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::autocorrectionContext):
Renamed from computeAutocorrectionContext. This is now a private method on WebPage that uses the focused or main
frame to compute and return a WebAutocorrectionContext.
(WebKit::WebPage::requestAutocorrectionContext):
(WebKit::WebPage::autocorrectionContextSync):
Renamed getAutocorrectionContext to autocorrectionContextSync.
(WebKit::computeAutocorrectionContext): Deleted.
(WebKit::WebPage::getAutocorrectionContext): Deleted.
- 2:52 PM Changeset in webkit [241145] by
-
- 18 edits in trunk/Source
Simplify applyConstraints callbacks
https://bugs.webkit.org/show_bug.cgi?id=194297
Reviewed by Eric Carlson.
Source/WebCore:
Make use of one callback for both success and failure cases.
No changed of behavior.
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::applyConstraints):
- platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::applyConstraints):
- platform/mediastream/MediaStreamTrackPrivate.h:
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::applyConstraints):
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::create):
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSource::create):
- platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.cpp:
(WebCore::MockGStreamerAudioCaptureSource::applyConstraints):
- platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.h:
- platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.cpp:
(WebCore::MockGStreamerVideoCaptureSource::applyConstraints):
- platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.h:
Source/WebKit:
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::applyConstraints):
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::Source::applyConstraintsSucceeded):
(WebKit::UserMediaCaptureManager::Source::applyConstraintsFailed):
(WebKit::UserMediaCaptureManager::applyConstraintsFailed):
- WebProcess/cocoa/UserMediaCaptureManager.h:
- 2:15 PM Changeset in webkit [241144] by
-
- 2 edits in trunk/LayoutTests
Web Inspector: Fix modify-css-property-race.html flakiness
https://bugs.webkit.org/show_bug.cgi?id=194408
Reviewed by Devin Rousso.
Event listener wasn't removed property, sometimes causing it to fire one more time.
- inspector/css/modify-css-property-race.html:
- 2:11 PM Changeset in webkit [241143] by
-
- 2 edits in trunk/Source/WebKit
Permit additional IOKit Properties needed by Media PlugIns on older Mac Hardware
https://bugs.webkit.org/show_bug.cgi?id=194412
<rdar://problem/47820615>
Reviewed by Per Arne Vollan.
- PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
- 2:04 PM Changeset in webkit [241142] by
-
- 2 edits in trunk/Source/WebKit
Permit additional IOKit Properties needed by older Mac Hardware
https://bugs.webkit.org/show_bug.cgi?id=194410
<rdar://problem/47820620>
Reviewed by Per Arne Vollan.
- WebProcess/com.apple.WebProcess.sb.in:
- 1:25 PM Changeset in webkit [241141] by
-
- 3 edits in trunk/Source/WebKit
Rename the TAKE_DOWNLOAD_ASSERTION macro.
Rubberstamped by Andy Estes.
- NetworkProcess/Downloads/DownloadMap.cpp:
- NetworkProcess/Downloads/DownloadMap.h:
- 12:20 PM Changeset in webkit [241140] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix more doesGC() for CheckTraps, GetMapBucket, and Switch nodes.
https://bugs.webkit.org/show_bug.cgi?id=194399
<rdar://problem/47889777>
Reviewed by Yusuke Suzuki.
Fix doesGC() for the following nodes:
CheckTraps:
We normally will not emit this node because Options::usePollingTraps() is
false by default. However, as it is implemented now, CheckTraps can GC
because it can allocate a TerminatedExecutionException. If we make the
TerminatedExecutionException a singleton allocated at initialization time,
doesGC() can return false for CheckTraps.
https://bugs.webkit.org/show_bug.cgi?id=194323
GetMapBucket:
Can call operationJSMapFindBucket() or operationJSSetFindBucket(),
which calls HashMapImpl::findBucket(), which calls jsMapHash(), which
can resolve a rope.
Switch:
If switchData kind is SwitchChar, can call operationResolveRope() .
If switchData kind is SwitchString and the child use kind is not StringIdentUse,
can call operationSwitchString() which resolves ropes.
DirectTailCall:
ForceOSRExit:
Return:
TailCallForwardVarargs:
TailCallVarargs:
Throw:
These are terminal nodes. It shouldn't really matter what doesGC() returns
for them, but following our conservative practice, unless we have a good
reason for doesGC() to return false, we should just return true.
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- 12:19 PM Changeset in webkit [241139] by
-
- 16 edits in branches/safari-608.1.5.1-branch/Source
Cherry-pick r241113. rdar://problem/47805607
Some timer uses are done off the main thread, WebCore::Timer
cannot be used
Reverted changesets:
"<rdar://problem/47570443> Responsiveness timers are too
expensive for frequent events"
https://bugs.webkit.org/show_bug.cgi?id=194003
https://trac.webkit.org/changeset/240759
"Use deferrable timer to restart the Responsiveness Timer on
each wheel event"
https://bugs.webkit.org/show_bug.cgi?id=194135
https://trac.webkit.org/changeset/240944
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241113 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:19 PM Changeset in webkit [241138] by
-
- 13 edits in branches/safari-608.1.5.1-branch/Source
Cherry-pick r240944. rdar://problem/47805607
Use deferrable timer to restart the Responsiveness Timer on each wheel event
https://bugs.webkit.org/show_bug.cgi?id=194135
Source/WebCore:
<rdar://problem/47724099>
Reviewed by Simon Fraser.
The original DeferrableOneShotTimer was not really deferrable.
What it allows is to restart the count down from scratch after
firing.
For this optimization, I want to keep the correct timing but avoid
starting a real timer every time.
I renamed DeferrableOneShotTimer to ResettableOneShotTimer and
created a real DeferrableOneShotTimer that support deadlines.
- css/CSSImageGeneratorValue.cpp:
- html/HTMLPlugInImageElement.h:
- loader/cache/CachedResource.h:
- platform/Timer.cpp: (WebCore::DeferrableOneShotTimer::startOneShot): (WebCore::DeferrableOneShotTimer::fired):
- platform/Timer.h: (WebCore::TimerBase::nextFireTime const): (WebCore::ResettableOneShotTimer::ResettableOneShotTimer): (WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer): (WebCore::DeferrableOneShotTimer::stop): (WebCore::DeferrableOneShotTimer::restart): Deleted.
- platform/graphics/ca/TileController.h:
- platform/graphics/cg/SubimageCacheWithTimer.h:
Source/WebKit:
Reviewed by Simon Fraser.
Simon Fraser suggested a neat improvement over my previous optimization
of ResponsivenessTimer.
Instead of reseting the deadline with every event, we can let the timer
fire and add the missing time from the last start.
I implemented that behavior in the new Deferrable Timer class and use
it from ResponsivenessTimer.
- NetworkProcess/watchos/NetworkProximityAssertion.h:
- UIProcess/ResponsivenessTimer.h:
- WebProcess/Plugins/PluginView.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:14 PM Changeset in webkit [241137] by
-
- 5 edits2 adds in trunk
Unable to sign in leetcode.
https://bugs.webkit.org/show_bug.cgi?id=194366
rdar://problem/47259025.
Reviewed by Chris Dumez.
Source/WebCore:
In case a signal is passed as part of a FetchRequestInit,
the IDL binding code is throwing an exception in case signal is not an AbortSignal object.
This breaks an AbortSignal shim used in some web sites.
Relaxed the IDL binding rule by marking signal as any and doing the conversion in FetchRequest.
Test: http/wpt/fetch/request-abort.html
Also covered by manually signing in to leetcode.
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::initializeWith):
- Modules/fetch/FetchRequestInit.h:
(WebCore::FetchRequestInit::hasMembers const):
- Modules/fetch/FetchRequestInit.idl:
LayoutTests:
- http/wpt/fetch/request-abort-expected.txt: Added.
- http/wpt/fetch/request-abort.html: Added.
- 11:42 AM Changeset in webkit [241136] by
-
- 7 edits in branches/safari-608.1.5.1-branch/Source
Versioning.
- 11:26 AM Changeset in webkit [241135] by
-
- 7 edits1 add11 deletes in trunk/Source/WebKit
Fix XCBuild issue related to codesigning WebContent process
https://bugs.webkit.org/show_bug.cgi?id=193799
<rdar://problem/47533890>
Reviewed by Brent Fulgham.
Building with XCBuild enabled results in the error message "cannot
read entitlement data" when trying to codesign the macOS XPC
processes. The reason for this error message is that there is a build
step that deletes any previous "stale" generated .xcent file before
building up a new one. With XCBuild enabled, the build steps got
re-ordered, such that the step that deletes this file could get
executed after the steps that build up the file. The built-up set of
entitlements is now gone, and the build process fails whencodesign
tries to access it.
The apparent quick-fix to this problem -- of tweaking dependencies so
that the build steps execute in the desired order -- wouldn't work
with XCBuild. Establishing these dependencies would require both
having multiple build phases produce the same .xcent file as output,
as well as a build phase that has this file as an input and an output.
XCBuild either forbids or frowns upon these configurations.
Ultimately, the solution that worked was to take over complete control
of the codesigning process. This means (a) not specifying a base
.entitlements file that XCode uses to start with (and which was
subsequently altered via custom build scripts), (b) not letting XCode
automatically and silently inject a 'get-task-all' entitlement used to
facilitate debugging (we now add that entitlement by hand), and (c)
building up all of our entitlements by hand via a single custom
script. Because of the addition of this custom script, many other
scripts and entitlements files could now be removed.
- Configurations/BaseXPCService.xcconfig:
- Configurations/Databases-iOS.entitlements: Removed.
- Configurations/Network-OSX-restricted.entitlements: Removed.
- Configurations/Network-OSX-sandbox.entitlements: Removed.
- Configurations/Network-OSX.entitlements: Removed.
- Configurations/NetworkService.xcconfig:
- Configurations/PluginService.64.xcconfig:
- Configurations/PluginService.entitlements: Removed.
- Configurations/WebContent-OSX-sandbox.entitlements: Removed.
- Configurations/WebContent-OSX.entitlements: Removed.
- Configurations/WebContent-or-Plugin-OSX-restricted.entitlements: Removed.
- Configurations/WebContentService.xcconfig:
- Scripts/copy-webcontent-resources-to-private-headers.sh:
- Scripts/process-entitlements.sh: Added.
- Scripts/process-network-sandbox-entitlements.sh: Removed.
- Scripts/process-webcontent-or-plugin-entitlements.sh: Removed.
- Scripts/process-webcontent-sandbox-entitlements.sh: Removed.
- WebKit.xcodeproj/project.pbxproj:
- 11:24 AM Changeset in webkit [241134] by
-
- 2 edits1 delete in trunk/Tools
Remove extra copy of 100x100-red.tga
https://bugs.webkit.org/show_bug.cgi?id=194371
<rdar://problem/47873465>
Reviewed by Said Abou-Hallawa.
In order to help it pass its tests, Bug 194190 added a second copy of
the file 100x100-red.tga. However, it turns out that this additional
file wasn't actually needed, and that that sole previous copy was
sufficient. At the same time, this second copy -- which was copied to
the same location in the build output as the first copy -- now caused
XCBuild to complain because there were two production rules for the
same output file. Address this by removing the newly-added extra copy.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/mac/100x100-red.tga: Removed.
- 11:21 AM Changeset in webkit [241133] by
-
- 2 edits in trunk/Source/WebKit
Fix internal build after r241127
https://bugs.webkit.org/show_bug.cgi?id=191394
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
Add some (un)availability macros.
- 11:20 AM Changeset in webkit [241132] by
-
- 11 edits in trunk/Source
Make to clear sources from UserMediaCaptureManagerProxy and UserMediaCaptureManager when no longer needed
https://bugs.webkit.org/show_bug.cgi?id=194312
Reviewed by Eric Carlson.
Source/WebCore:
Add a way for sources to know when they are ended, i.e. that they will never be started again.
No observable change of behavior.
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::requestStop):
- platform/mediastream/RealtimeMediaSource.h:
Source/WebKit:
Sources in UserMediaCaptureManager and Proxy are never removed once added to their HashMap.
Use the 'ended' mechanism to do the clean-up on WebProcess side.
As part of this clean-up, send IPC to UIProcess to do clean-up on proxy side.
On WebProcess crash case, clean-up the proxy as well.
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints):
(WebKit::UserMediaCaptureManagerProxy::end):
(WebKit::UserMediaCaptureManagerProxy::clear):
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::sourceEnded):
- WebProcess/cocoa/UserMediaCaptureManager.h:
- 11:01 AM Changeset in webkit [241131] by
-
- 2 edits in trunk/Source/WebKit
Print backgrounds preference should be honored instead of WKWebViewConfiguration value
https://bugs.webkit.org/show_bug.cgi?id=194364
<rdar://problem/47627599>
Reviewed by Tim Horton.
Without this patch, changing the preference for printing the background has no effect.
This patch fixes that, and I verified it manually by checking "Print backgrounds" in Safari's print menu.
Unfortunately, the only way to test this is actually printing because only values from WebPageProxy::preferences
or WebPageProxy::configuration's preferences are exposed to the API, but values from WebPageProxy::preferencesStore
are used when printing. Actually printing verifies this change fixes the bug.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- 10:59 AM Changeset in webkit [241130] by
-
- 17 edits in trunk/Source/WebCore
HTMLMediaElement registers wrong ScriptExecutionContext with its ActiveDOMObject parent class
https://bugs.webkit.org/show_bug.cgi?id=194360
HTMLMediaElement registers the Document used to create it with ActiveDOMObject, when it should
really use that Document's contextDocument(). Rather than just fix this in HTMLMediaElement,
make sure that the correct document is used everywhere by adding a new ActiveDOMObject constructor
taking a Document&, and making an explicitly deleted Document* constructor to catch any new cases.
Reviewed by Geoffrey Garen.
- Modules/applepay/ApplePaySession.cpp:
(WebCore::ApplePaySession::ApplePaySession):
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::MediaRecorder):
- Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::MediaDevices):
- Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::UserMediaRequest):
- Modules/notifications/Notification.cpp:
(WebCore::Notification::Notification):
- Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::PaymentRequest):
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::AudioContext):
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::WebAnimation):
- css/FontFaceSet.cpp:
(WebCore::FontFaceSet::FontFaceSet):
- dom/ActiveDOMObject.cpp:
(WebCore::ActiveDOMObject::ActiveDOMObject):
- dom/ActiveDOMObject.h:
- dom/Document.h:
(WebCore::ActiveDOMObject::ActiveDOMObject):
- html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
- html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::HTMLSourceElement):
- page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::IntersectionObserver):
- 10:57 AM Changeset in webkit [241129] by
-
- 2 edits in trunk/Source/WebKit
Mark DisplayLink as fast allocated
https://bugs.webkit.org/show_bug.cgi?id=194400
Reviewed by Geoffrey Garen.
- UIProcess/mac/DisplayLink.h:
- 10:53 AM Changeset in webkit [241128] by
-
- 5 edits in trunk/Source/WebKit
[macOS] API test times out after r241026
https://bugs.webkit.org/show_bug.cgi?id=194372
Reviewed by Alex Christensen.
The API test TestWebKitAPI.RenderingProgress.FirstMeaningfulPaint times out after r241026.
A new function pointer, layoutMilestones, is added to WKBundlePageLoaderClient, in order
for clients to decide which milestones they would like to listen for.
- WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(layoutMilestones):
(setUpPageLoaderClient):
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::layoutMilestones const):
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- 10:52 AM Changeset in webkit [241127] by
-
- 9 edits in trunk
Deprecate WKBundlePageSetDefersLoading
https://bugs.webkit.org/show_bug.cgi?id=191394
Reviewed by Dean Jackson.
Source/WebKit:
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetDefersLoading):
- WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _defersLoading]):
(-[WKWebProcessPlugInBrowserContextController _setDefersLoading:]):
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
Tools:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setDefersLoading):
LayoutTests:
- platform/wk2/TestExpectations:
- 10:36 AM Changeset in webkit [241126] by
-
- 3 edits in trunk/Source/JavaScriptCore
B3ReduceStrength: missing peephole optimizations for Neg and Sub
https://bugs.webkit.org/show_bug.cgi?id=194250
Reviewed by Saam Barati.
Adds the following optimizations for integers:
- Sub(x, x) => 0
Already covered by the test testSubArg
- Sub(x1, Neg(x2)) => Add (x1, x2)
Added test: testSubNeg
- Neg(Sub(x1, x2)) => Sub(x2, x1)
Added test: testNegSub
- Add(Neg(x1), x2) => Sub(x2, x1)
Added test: testAddNeg1
- Add(x1, Neg(x2)) => Sub(x1, x2)
Added test: testAddNeg2
Adds the following optimization for floating point values:
- Abs(Neg(x)) => Abs(x)
Added test: testAbsNegArg
Adds the following optimization:
Also did some trivial refactoring, using m_value->isInteger() everywhere instead of isInt(m_value->type()), and using replaceWithNew<Value> instead of replaceWithNewValue(m_proc.add<Value(..))
- b3/B3ReduceStrength.cpp:
- b3/testb3.cpp:
(JSC::B3::testAddNeg1):
(JSC::B3::testAddNeg2):
(JSC::B3::testSubNeg):
(JSC::B3::testNegSub):
(JSC::B3::testAbsAbsArg):
(JSC::B3::testAbsNegArg):
(JSC::B3::run):
- 10:24 AM Changeset in webkit [241125] by
-
- 3 edits in trunk/Source/WebKit
Digital crown should scroll safe browsing warning on watchOS
https://bugs.webkit.org/show_bug.cgi?id=194363
<rdar://problem/47348124>
Reviewed by Wenson Hsieh.
- UIProcess/Cocoa/WKSafeBrowsingWarning.h:
- UIProcess/Cocoa/WKSafeBrowsingWarning.mm:
(-[WKSafeBrowsingWarning initWithFrame:safeBrowsingWarning:completionHandler:]):
(-[WKSafeBrowsingWarning addContent]):
- 10:22 AM Changeset in webkit [241124] by
-
- 2 edits in trunk/Source/WebKit
Shrink and hyphenate safe browsing warning text on watchOS
https://bugs.webkit.org/show_bug.cgi?id=194361
<rdar://problem/47466549>
Reviewed by Geoffrey Garen.
Some internationalizations use long words that didn't fit on small watches.
- UIProcess/Cocoa/WKSafeBrowsingWarning.mm:
(fontOfSize):
(-[WKSafeBrowsingWarning addContent]):
(-[WKSafeBrowsingTextView initWithAttributedString:forWarning:]):
- 8:45 AM Changeset in webkit [241123] by
-
- 5 edits2 adds in trunk
[LFC][Out-of-flow] Use the containing block's padding width when computing min/max width.
https://bugs.webkit.org/show_bug.cgi?id=194391
Reviewed by Antti Koivisto.
Source/WebCore:
The spec is not clear about this but that's what matches the current behaviour.
Test: fast/block/block-only/absolute-positioned-min-max-percentage-with-parent-padding.html
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
Tools:
- LayoutReloaded/misc/LFC-passing-tests.txt:
LayoutTests:
- fast/block/block-only/absolute-positioned-min-max-percentage-with-parent-padding-expected.html: Added.
- fast/block/block-only/absolute-positioned-min-max-percentage-with-parent-padding.html: Added.
- 8:33 AM Changeset in webkit [241122] by
-
- 10 edits in trunk/Source/WebCore
[LFC] Use dedicated data structures for optional used values (input to geometry functions)
https://bugs.webkit.org/show_bug.cgi?id=194376
Reviewed by Antti Koivisto.
This is in preparation for being able to pass in the containing block's width as an optional used value.
During layout we always have a valid width for the containing block, however it's not the case while computing the preferred width.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
- layout/FormattingContext.h:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowVerticalGeometry): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingHeightAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingWidthAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin): Deleted.
(): Deleted.
(WebCore::Layout::FormattingContext::Geometry::complicatedCases): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeightAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin): Deleted.
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::complicatedCases):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
- layout/LayoutUnits.h:
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin const):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin const):
- layout/blockformatting/BlockFormattingContext.h:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin): Deleted.
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin const):
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin const):
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockWidthAndMargin):
(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockHeightAndMargin):
- page/FrameViewLayoutContext.cpp:
(WebCore::layoutUsingFormattingContext):
- 8:07 AM Changeset in webkit [241121] by
-
- 6 edits in trunk/Source/WebCore
Infinite recursion via CachedResource::~CachedResource
https://bugs.webkit.org/show_bug.cgi?id=194378
<rdar://problem/42023295>
Reviewed by Daniel Bates.
I don't know the exact steps to trigger this but the mechanism seems clear.
1) An existing resource is removed from or replaced in CachedResourceLoader::m_documentResources map.
2) This decrements the handle count of resource and causes it be deleted.
3) CachedResource::~CachedResource calls m_owningCachedResourceLoader->removeCachedResource(*this). This only happens with
resources that are "owned" by CachedResourceLoader which is a rare special case (used by image document and if memory cache is disabled).
4) CachedResourceLoader::removeCachedResource looks up the resource from the map which causes a temporary CachedResourceHandle to be created.
This increments the handle count of the resource from 0 back to 1.
5) When the temporary dies, CachedResource::~CachedResource is called again and we cycle back to 3).
The fix here is simply to remove CachedResourceLoader::removeCachedResource call from ~CachedResource.
It is a leftover from when the map contained raw pointers instead of owning CachedResourceHandles.
Since m_documentResources map has a handle to the resource, the only way we are in the destructor is that the resource
has been removed from the map already (or is in process of being removed like in this crash). Any call that does anything
other than bail out is going to crash.
CachedResource::n_owningCachedResourceLoader member and CachedResourceLoader::removeCachedResource function only exist to
support this erranous call so they are removed as well.
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::~CachedResource):
This is the substantive change. The rest just removes now-dead code.
- loader/cache/CachedResource.h:
(WebCore::CachedResource::setOwningCachedResourceLoader): Deleted.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::~CachedResourceLoader):
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::loadResource):
(WebCore::CachedResourceLoader::garbageCollectDocumentResources):
(WebCore::CachedResourceLoader::removeCachedResource): Deleted.
- loader/cache/CachedResourceLoader.h:
- 6:42 AM Changeset in webkit [241120] by
-
- 18 edits2 adds in trunk
[WPE] Implement GStreamer based holepunch
https://bugs.webkit.org/show_bug.cgi?id=193715
Reviewed by Xabier Rodriguez-Calvar.
.:
Add GSTREAMER_HOLEPUNCH option to the WPE port with a manual test to
check the feature.
- ManualTests/wpe/video-player-holepunch.html: Added.
- Source/cmake/OptionsWPE.cmake:
Source/WebCore:
Implement GStreamer based holepunch functionality. Instead of getting the video frames from the
video sink and drawing then, the player just draws a transparent rectangle on the position where
the video should be. MediaPlayerPrivateGStreamerBase will instantiate a platform dependant video
sink which will be in charge of displaying the video frames in some way (usually on a plane below
the browser), and will push empty frames to the compositor indicating that the rectangle to draw
should overwrite the existent content. TextureMapperPlatformLayerBuffer::HolePunchClient is used
to tell the video sink where to position the video so it's set below the browser transparent hole.
Added ManualTest wpe/video-player-holepunch.html to test the feature.
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::shouldIgnoreIntrinsicSize):
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::shouldIgnoreIntrinsicSize):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::naturalSize const):
(WebCore::MediaPlayerPrivateGStreamerBase::swapBuffersIfNeeded):
(WebCore::setRectangleToVideoSink):
(WebCore::GStreamerHolePunchClient::GStreamerHolePunchClient):
(WebCore::MediaPlayerPrivateGStreamerBase::createHolePunchVideoSink):
(WebCore::MediaPlayerPrivateGStreamerBase::pushNextHolePunchBuffer):
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- platform/graphics/texmap/TextureMapper.h:
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawSolidColor):
- platform/graphics/texmap/TextureMapperGL.h:
- platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintSelf):
- platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:
(WebCore::TextureMapperPlatformLayerBuffer::paintToTextureMapper):
- platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:
(WebCore::TextureMapperPlatformLayerBuffer::setHolePunchClient):
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):
- rendering/RenderVideo.cpp:
(WebCore::RenderVideo::videoBox const):
Source/WebKit:
Add a new parameter to the calls of TextureMapper::drawSolidColor().
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
- 3:28 AM Changeset in webkit [241119] by
-
- 6 edits in trunk/LayoutTests
Unreviewed GTK+ gardening after r241117.
- platform/gtk/TestExpectations:
- platform/gtk/compositing/iframes/invisible-nested-iframe-show-expected.txt:
- platform/gtk/compositing/iframes/resizer-expected.txt:
- platform/gtk/compositing/rtl/rtl-iframe-absolute-expected.txt:
- platform/gtk/compositing/rtl/rtl-iframe-relative-expected.txt: