Timeline
May 4, 2020:
- 11:51 PM Changeset in webkit [261155] by
-
- 2 edits in trunk/Source/WebKit
Relax WKRemoteObjectRegistry signature validation for bool-equivalent types
https://bugs.webkit.org/show_bug.cgi?id=211419
Reviewed by Saam Barati.
- Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(blockSignaturesAreCompatible):
(replyBlockSignature):
(-[_WKRemoteObjectRegistry _invokeMethod:]):
(validateReplyBlockSignature): Deleted.
Relax reply block signature validation slightly, considering signed char and BOOL,
which are equivalent and sometimes substituted for each other, to be equal.
This is still stricter than NSXPC's validation, but this is one of the
exceptions that they make.
- 11:27 PM Changeset in webkit [261154] by
-
- 4 edits1 copy1 delete in trunk/LayoutTests
Update svg/batik/text/xmlSpace.svg to yield consistent text metrics
https://bugs.webkit.org/show_bug.cgi?id=211005
<rdar://problem/62312187>
Reviewed by Darin Adler.
The test is rendering a bunch of characters without using a specified font.
This means that Core Text is picking an arbitrary font. However, the
-expected.txt file is measuring exact pixel widths. The solution is to just
give the test an explicit fallback font.
- platform/ios/TestExpectations:
- platform/ios/svg/batik/text/xmlSpace-expected.txt:
- platform/mac/svg/batik/text/xmlSpace-expected.txt:
- svg/batik/text/xmlSpace-expected.txt: Removed. Platform-specific metrics
shouldn't live outside the platform/ directory.
- svg/batik/text/xmlSpace.svg:
- 10:51 PM Changeset in webkit [261153] by
-
- 37 edits1 delete in trunk
[Mac] Remove MAC_OS_X_VERSION_MIN_REQUIRED checks for versions older than 10.14
https://bugs.webkit.org/show_bug.cgi?id=211420
Reviewed by Alex Christensen.
Source/WebCore:
- editing/cocoa/DataDetection.mm:
(WebCore::detectItem): Remove MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
- editing/cocoa/HTMLConverter.mm:
(_WebMessageDocumentClass): Ditto.
- platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
- platform/mac/WebCoreFullScreenPlaceholderView.mm:
(-[WebCoreFullScreenPlaceholderView initWithFrame:]): Ditto.
- platform/network/cocoa/CookieCocoa.mm:
(WebCore::nsSameSitePolicy): Ditto.
(WebCore::Cookie::operator NSHTTPCookie * _Nullable const): Ditto.
- platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::cookiesForURL): Ditto.
(WebCore::NetworkStorageSession::setHTTPCookiesForURL const): Ditto.
- platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest): Ditto.
(WebCore::siteForCookies): Ditto.
(WebCore::ResourceRequest::doUpdatePlatformRequest): Ditto.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintTextField): Ditto.
- testing/Internals.h: Ditto.
Source/WebCore/PAL:
- pal/spi/cocoa/NSColorSPI.h: Remove MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
- pal/spi/cocoa/QuartzCoreSPI.h: Ditto.
- pal/spi/mac/DataDetectorsSPI.h: Ditto.
- pal/spi/mac/NSApplicationSPI.h: Ditto.
Source/WebKit:
- NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
(WebKit::Download::resume): Remove MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa): Ditto.
- PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializePluginProcess): Ditto.
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceMain): Ditto.
- UIProcess/mac/ServicesController.mm:
(WebKit::hasCompatibleServicesForItems): Ditto.
- UIProcess/mac/WebProcessProxyMac.mm:
(WebKit::WebProcessProxy::shouldAllowNonValidInjectedCode const): Ditto.
Source/WebKitLegacy/mac:
- WebView/WebHTMLView.mm: Remove MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:]): Ditto.
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:]): Deleted.
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:shouldChangeFontReferenceColor:]): Deleted.
- WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController _buildUI]): Remove some code only compiled with
MAC_OS_X_VERSION_MIN_REQUIRED < 101400.
Source/WTF:
- WTF.xcodeproj/project.pbxproj: Removed DeprecatedSymbolsUsedBySafari.mm.
- wtf/PlatformEnableCocoa.h: Removed MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
- wtf/PlatformHave.h: Ditto. This leaves behind some cases of
"PLATFORM(MAC) PLATFORM(IOS)" that should probably be turned on for watchOS and tvOS too, eventually. Also "PLATFORM(MAC) PLATFORM(IOS) PLATFORM(MACCATALYST)". - wtf/PlatformMac.cmake: Removed DeprecatedSymbolsUsedBySafari.mm.
- wtf/PlatformUse.h: Removed MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
- wtf/mac/DeprecatedSymbolsUsedBySafari.mm: Removed.
- wtf/spi/darwin/ProcessMemoryFootprint.h: Removed
MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
Tools:
- TestWebKitAPI/Tests/WebCore/CtapPinTest.cpp: Remove
MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
Removed code disabling this test for MAC_OS_X_VERSION_MIN_REQUIRED < 101400.
- TestWebKitAPI/config.h: Removed MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
- WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
(WTR::installFakeHelvetica): Removed MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
- 10:47 PM Changeset in webkit [261152] by
-
- 5 edits in trunk/Source
Remove now-unneeded HAVE(SANDBOX_ISSUE_MACH/READ_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN)
https://bugs.webkit.org/show_bug.cgi?id=211427
Reviewed by Alex Christensen.
Source/WebKit:
- Shared/Cocoa/SandboxExtensionCocoa.mm:
(WebKit::SandboxExtensionImpl::sandboxExtensionForType): Remove #if HAVE.
Source/WTF:
- wtf/PlatformHave.h: Remove both macros mentioned in the title above.
- wtf/spi/darwin/SandboxSPI.h: Remove #if HAVE.
- 10:40 PM Changeset in webkit [261151] by
-
- 4 edits in trunk/Source
Remove now-unneeded HAVE(AUTHORIZATION_STATUS_FOR_MEDIA_TYPE)
https://bugs.webkit.org/show_bug.cgi?id=211426
Reviewed by Alex Christensen.
Source/WebKit:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest):
Remove HAVE(AUTHORIZATION_STATUS_FOR_MEDIA_TYPE).
Source/WTF:
- wtf/PlatformHave.h: Removed code to set HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE,
which was doing so on all Cocoa platforms.
- 10:35 PM Changeset in webkit [261150] by
-
- 6 edits in trunk/Source
Remove now-unneeded HAVE(ACCESSIBILITY_SUPPORT)
https://bugs.webkit.org/show_bug.cgi?id=211425
Reviewed by Alex Christensen.
Source/WebCore/PAL:
- pal/spi/cocoa/AccessibilitySupportSPI.h: Remove HAVE(ACCESSIBILITY_SUPPORT).
Source/WebKit:
- Platform/spi/Cocoa/AccessibilitySupportSPI.h: Remove HAVE(ACCESSIBILITY_SUPPORT)
and now-unnecessary C include guards.
Source/WTF:
- wtf/PlatformHave.h: Don't set HAVE_ACCESSIBILITY_SUPPORT. It was on for all
Cocoa platform builds.
- 10:20 PM Changeset in webkit [261149] by
-
- 8 edits in trunk
Remove now-unneeded HAVE(NETWORK_EXTENSION)
https://bugs.webkit.org/show_bug.cgi?id=211424
Reviewed by Alex Christensen.
Source/WebCore:
- loader/ContentFilter.cpp:
(WebCore::ContentFilter::types): Remove check of HAVE(NETWORK_EXTENSION),
not needed because ENABLE(CONTENT_FILTER) is only done on Cocoa platforms,
and HAVE(NETWORK_EXTENSION) is true for all of those.
- platform/cocoa/NetworkExtensionContentFilter.mm: Ditto.
Source/WTF:
- wtf/PlatformHave.h: Don't define HAVE_NETWORK_EXTENSION.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):
Remove check of HAVE(NETWORK_EXTENSION).
- TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
(-[ContentFilteringPlugIn checkIfPlatformFrameworksAreLoaded:]): Ditto.
- 10:10 PM Changeset in webkit [261148] by
-
- 6 edits in trunk/Source
Remove now-unneeded HAVE(SEC_TRUST_EVALUATE_WITH_ERROR)
https://bugs.webkit.org/show_bug.cgi?id=211429
Reviewed by Alex Christensen.
Source/WebCore:
- platform/network/cocoa/ResourceResponseCocoa.mm:
(WebCore::ResourceResponse::platformCertificateInfo const):
Remove HAVE(SEC_TRUST_EVALUATE_WITH_ERROR).
Source/WebKit:
- UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController _EVOrganizationName]):
Remove HAVE(SEC_TRUST_EVALUATE_WITH_ERROR).
Source/WTF:
- wtf/PlatformHave.h: Don't set HAVE_SEC_TRUST_EVALUATE_WITH_ERROR.
- 10:05 PM Changeset in webkit [261147] by
-
- 13 edits4 adds in trunk
[JSC] DFG NotCellUse is used without considering about BigInt32
https://bugs.webkit.org/show_bug.cgi?id=211395
Reviewed by Saam Barati.
JSTests:
- stress/non-cell-nor-bigint-should-be-emitted-for-to-number-target-if-bigint-appears.js: Added.
(shouldThrow):
(test):
(i.shouldThrow):
- stress/non-cell-nor-bigint-should-reject-bigint.js: Added.
(shouldBe):
(test):
- stress/should-not-emit-double-rep-for-bigint.js: Added.
(foo):
- stress/urshift-value-to-int32-should-reject-bigint.js: Added.
(shouldThrow):
(test):
(i.shouldThrow):
Source/JavaScriptCore:
When we see CompareXXX(BigInt32, Double), we are emitting CompareXXX(DoubleRep(BigInt:NotCellUse), Double). But this has two problems.
- We should emit CompareXXX(UntypedUse, UntypedUse) in this case.
- DoubleRep(NotCellUse) does not support converting BigInt32 to double. Since DoubleRep's semantics is for ToNumber, it should not accept BigInt32 since it should throw an error. However, DoubleRep currently assumes that NotCellUse value can be converted to double without any errors.
To keep DoubleRep's semantics ToNumber, we replace NotCellUse with NotCellNorBigIntUse, which rejects BigInt32. This patch also uses NotCellNorBigIntUse
for ValueToInt32 because of the same reason.
For CompareXXX and CompareEq nodes, we can optimize it if we introduce new DoubleRepAcceptingBigInt32 DFG node which can convert BigInt32 to Double, since
CompareXXX and CompareEq are not requiring toNumber semantics. This should be done in a separate bug https://bugs.webkit.org/show_bug.cgi?id=211407.
- bytecode/SpeculatedType.h:
(JSC::isNotCellNorBigIntSpeculation):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixIntConvertingEdge):
(JSC::DFG::FixupPhase::fixupChecksInBlock):
- dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateNotCellNorBigInt):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileDoubleRep):
(JSC::DFG::SpeculativeJIT::speculateNotCellNorBigInt):
(JSC::DFG::SpeculativeJIT::speculate):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGUseKind.cpp:
(WTF::printInternal):
- dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::checkMayCrashIfInputIsEmpty):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileDoubleRep):
(JSC::FTL::DFG::LowerDFGToB3::compileValueToInt32):
(JSC::FTL::DFG::LowerDFGToB3::numberOrNotCellNorBigIntToInt32):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateNotCellNorBigInt):
(JSC::FTL::DFG::LowerDFGToB3::numberOrNotCellToInt32): Deleted.
- 9:55 PM Changeset in webkit [261146] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r260791?): Assert not reached in ResourceLoadStatisticsDatabaseStore::openAndUpdateSchemaIfNecessary() and ResourceLoadStatisticsDatabaseStore::addMissingTablesIfNecessary()
https://bugs.webkit.org/show_bug.cgi?id=211305
<rdar://problem/62737871>
Reviewed by Alex Christensen.
This patch adds a busy timeout for the ITP database to allow for
some concurrency flexibility when running many WebKitTestRunner tests, which
recreate the ITP database store very often to test both the memory and
database stores.
With the timeout, an attempt to write to the database when another
thread is holding the lock will keep attempting to insert for 5
seconds as long as the statement execution returns SQLITE_BUSY.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::openITPDatabase):
- 9:50 PM Changeset in webkit [261145] by
-
- 2 edits in trunk/Source/WebKit
TestWebKitAPI.WebKit.CustomDisplayName is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=211299
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-04
Reviewed by Chris Dumez.
Use a serial queue instead of a concurrent queue to set the web process's display name to prevent race conditions.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::setProcessNameQueue):
(WebKit::WebProcess::updateProcessName):
(WebKit::WebProcess::updateActivePages):
- 9:42 PM Changeset in webkit [261144] by
-
- 2 edits in trunk/Source/WebKit
[GTK4] Header bars no longer have title and subtitle properties
https://bugs.webkit.org/show_bug.cgi?id=211412
Reviewed by Carlos Garcia Campos.
No new tests needed.
- UIProcess/Inspector/gtk/WebKitInspectorWindow.cpp: For GTK4 use a vertical
box as title widget, with two labels acting as title and subtitle.
(webkit_inspector_window_init):
(webkitInspectorWindowSetSubtitle):
- 9:01 PM Changeset in webkit [261143] by
-
- 8 edits in trunk/Source
Code cleanup in EventHandler
https://bugs.webkit.org/show_bug.cgi?id=211413
Reviewed by Tim Horton.
Use a better name for "hoveredNode" which is a HitTestResult.
Convert Frame* to Frame&.
Have a couple of helper functions return RefPtr<Frame>.
- page/AutoscrollController.cpp:
(WebCore::AutoscrollController::stopAutoscrollTimer):
- page/EventHandler.cpp:
(WebCore::EventHandler::subframeForHitTestResult):
(WebCore::EventHandler::subframeForTargetNode):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::mouseMoved):
(WebCore::EventHandler::passMouseMovedEventToScrollbars):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::passMousePressEventToScrollbar):
(WebCore::EventHandler::passMousePressEventToSubframe):
(WebCore::EventHandler::passMouseReleaseEventToSubframe):
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
(WebCore::EventHandler::passMouseMoveEventToSubframe):
- page/EventHandler.h:
- page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::passSubframeEventToSubframe):
(WebCore::EventHandler::passMousePressEventToSubframe):
(WebCore::EventHandler::passMouseMoveEventToSubframe):
(WebCore::EventHandler::passMouseReleaseEventToSubframe):
(WebCore::EventHandler::tryToBeginDragAtPoint):
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::passSubframeEventToSubframe):
(WebCore::EventHandler::passMousePressEventToSubframe):
(WebCore::EventHandler::passMouseMoveEventToSubframe):
(WebCore::EventHandler::passMouseReleaseEventToSubframe):
- page/win/EventHandlerWin.cpp:
(WebCore::EventHandler::passMouseMoveEventToSubframe):
- 8:47 PM Changeset in webkit [261142] by
-
- 1 edit4 adds in trunk/Source/WebInspectorUI
Web Inspector: add a tool for viewing UserInterface/Images files
https://bugs.webkit.org/show_bug.cgi?id=211422
Reviewed by Timothy Hatcher.
- Tools/Images/index.html: Added.
- Tools/Images/index.css: Added.
(body):
(h1):
(textarea):
(.flex):
(#preview):
(#preview > img):
(#preview > img.light):
(#preview > img.dark):
- Tools/Images/index.js: Added.
(async loadImage):
(async parseSVG):
(async loadPNG):
(normalizePath):
(changeSize):
(updateURL):
- 8:19 PM Changeset in webkit [261141] by
-
- 11 edits4 adds in trunk
IndexedDB WAL file keeps growing while app is in use
https://bugs.webkit.org/show_bug.cgi?id=202137
Reviewed by Brady Eidson.
Source/WebCore:
It's easy to get into a situation where the WAL file associated with a SQLite-backed
IndexedDB grows indefinitely while a site is in use for two reasons:
- We don't promptly reset cached prepared statements in SQLiteIDBBackingStore. Many
statements are left hanging in the SQLITE_ROW state without being reset or fully stepped to
the SQLITE_DONE state. These hanging statements keep their associated transactions open and
prevent the WAL checkpointer from progressing past those active transactions.
To fix this, I added SQLiteStatementAutoResetScope. This is a scope guard that
SQLiteIDBBackingStore uses to ensure that cached statements are reset in a timely manner.
While going through the reset code I also noticed we aren't clearing bindings after
resetting statements. We should be doing this because sqlite3_reset does not clear bindings
(and their associated copies of blobs/strings); sqlite3_clear_bindings does that.
- The default WAL hook for auto-checkpointing in upstream SQLite uses the
SQLITE_CHECKPOINT_PASSIVE mode, which doesn't truncate the WAL until the next write
transaction occurs. (It actually doesn't truncate at all when compiled with default
settings, but macOS's SQLite sets SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT, which causes the
truncation to occur on the next write.)
We want the WAL to be truncated more promptly, because otherwise the quota check that
happens on each mutation won't be as accurate. To do this, I installed a WAL hook that
truncates the WAL with SQLITE_CHECKPOINT_TRUNCATE after the default threshold of 1000 WAL
pages. I didn't enable this for all SQLiteDatabases because this checkpoint call can block
on the busy handler. This isn't a problem for IDB since we don't use busy handlers in IDB.
- Headers.cmake:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::renameObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::clearObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedHasIndexRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedPutIndexRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::renameIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteUnusedBlobFileRecords):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::updateAllIndexesForAddRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getBlobRecordsForObjectStoreRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::cachedStatementForGetAllObjectStoreRecords):
(WebCore::IDBServer::SQLiteIDBBackingStore::getAllObjectStoreRecords):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedGetIndexRecordForOneKey):
(WebCore::IDBServer::SQLiteIDBBackingStore::getCount):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedGetKeyGeneratorValue):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedSetKeyGeneratorValue):
(WebCore::IDBServer::SQLiteIDBBackingStore::cachedStatement):
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/sql/SQLiteDatabase.cpp:
(WebCore::walAutomaticTruncationHook):
(WebCore::SQLiteDatabase::enableAutomaticWALTruncation):
- platform/sql/SQLiteDatabase.h:
- platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::reset):
- platform/sql/SQLiteStatementAutoResetScope.cpp: Added.
(WebCore::SQLiteStatementAutoResetScope::SQLiteStatementAutoResetScope):
(WebCore::SQLiteStatementAutoResetScope::operator=):
(WebCore::SQLiteStatementAutoResetScope::~SQLiteStatementAutoResetScope):
- platform/sql/SQLiteStatementAutoResetScope.h: Added.
(WebCore::SQLiteStatementAutoResetScope::operator bool const):
(WebCore::SQLiteStatementAutoResetScope::operator! const):
(WebCore::SQLiteStatementAutoResetScope::get):
(WebCore::SQLiteStatementAutoResetScope::operator->):
Tools:
Add a test to make sure that WAL auto-checkpointing actually works.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.html: Added.
- TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.mm: Added.
(-[IDBCheckpointWALMessageHandler userContentController:didReceiveScriptMessage:]):
(fileSizeAtPath):
(TEST):
- 8:19 PM Changeset in webkit [261140] by
-
- 3 edits in trunk/Source/WebKit
[iOS] Make sure TestController::statisticsResetToConsistentState() does not hang due to process suspension
https://bugs.webkit.org/show_bug.cgi?id=211421
Reviewed by Maciej Stachowiak.
We have evidence of hangs in TestController::statisticsResetToConsistentState() on iOS and we suspect it
is due to process suspension. To address the issue, this patch updates the IPCs being sent as a result of
a call to statisticsResetToConsistentState() to take a background assertion while waiting for the IPC
response.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setUseITPDatabase):
(WebKit::NetworkProcessProxy::resetCacheMaxAgeCapForPrevalentResources):
(WebKit::NetworkProcessProxy::resetParametersToDefaultValues):
(WebKit::NetworkProcessProxy::scheduleClearInMemoryAndPersistent):
(WebKit::NetworkProcessProxy::resetCrossSiteLoadsWithLinkDecorationForTesting):
(WebKit::NetworkProcessProxy::setShouldDowngradeReferrerForTesting):
(WebKit::NetworkProcessProxy::setShouldBlockThirdPartyCookiesForTesting):
(WebKit::NetworkProcessProxy::setShouldEnbleSameSiteStrictEnforcementForTesting):
(WebKit::NetworkProcessProxy::setFirstPartyWebsiteDataRemovalModeForTesting):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::setShouldBlockThirdPartyCookiesForTesting):
- 7:45 PM Changeset in webkit [261139] by
-
- 14 edits in trunk
Tapping to focus editable elements should start caret selection at word boundary
https://bugs.webkit.org/show_bug.cgi?id=211409
<rdar://problem/62869098>
Reviewed by Megan Gardner.
Source/WebCore:
Match platform behavior when focusing editable text content by beginning the caret selection at word
granularity (i.e. the start or end of a word), rather than character granularity. This will match behavior of
other editable widgets on iOS (such as UITextField and UITextView), as well as our current behavior when tapping
to change the selection when the text interaction is editable (i.e. when the caret is already visible when
tapping).
Rebaselined existing layout tests.
- editing/VisibleUnits.cpp:
(WebCore::wordBoundaryForPositionWithoutCrossingLine):
Move logic previously in
WebPage::selectWithGesturedown intoVisibleUnits.h, as a new standalone helper
function. Given aVisiblePosition, this new helper will return the given position if it is either already at
word boundary or line boundary; if it is within the boundary of a word, it will instead return the start or end
of the word.
- editing/VisibleUnits.h:
- page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEventSingleClick):
When setting the selection due to a synthetic single click, automatically adjust the caret position to be at
word boundary instead of using the hit-tested position directly.
Source/WebKit:
See WebCore/ChangeLog for more details.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::selectWithGesture):
Rewrite this using the new VisibleUnits helper function,
wordBoundaryForPositionWithoutCrossingLine.
LayoutTests:
Adjust some existing layout test expectations on iOS, such that tapping to focus input fields places the
selection at the beginning or end of a word.
- editing/selection/ios/hide-selection-after-hiding-contenteditable-expected.txt:
- editing/selection/ios/place-selection-in-overflow-area-expected.txt:
- fast/forms/ios/zoom-after-input-tap-wide-input-expected.txt:
- platform/ios/editing/deleting/smart-delete-002-expected.txt:
- platform/ios/editing/deleting/smart-delete-003-expected.txt:
- platform/ios/editing/deleting/smart-delete-004-expected.txt:
- platform/ios/editing/pasteboard/smart-paste-008-expected.txt:
- 6:53 PM Changeset in webkit [261138] by
-
- 33 edits in trunk
Make IPHONE_OS_VERSION_MIN_REQUIRED checks against old versions explicit about watchOS and tvOS
https://bugs.webkit.org/show_bug.cgi?id=211402
Reviewed by Alexey Proskuryakov.
Source/WebCore:
- editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::attributesForAttributedStringConversion): Move from IPHONE_OS_VERSION_MIN_REQUIRED
to !PLATFORM(WATCHOS) && !PLATFORM(APPLETV). Move NSExcludedElementsDocumentAttribute to
AttributedStringSPI.h.
- page/SettingsDefaultValues.h: Rewrite conic gradient conditional to call out
tvOS as an exception rather than doing that indirectly through IPHONE_OS_VERSION_MIN_REQUIRED.
- platform/graphics/cg/GradientCG.cpp:
(WebCore::Gradient::paint): Ditto.
- platform/graphics/cocoa/FontCacheCoreText.cpp: Rewrite
HAS_CORE_TEXT_WIDTH_ATTRIBUTE to use !PLATFORM(WATCHOS) && !PLATFORM(APPLETV).
(WebCore::variationCapabilitiesForFontDescriptor): Ditto.
(WebCore::FontCache::lastResortFallbackFont): Ditto.
- platform/graphics/cocoa/FontDescriptionCocoa.cpp:
(WebCore::matchSystemFontUse): Use HAVE(SYSTEM_FONT_STYLE_TITLE_0) and
HAVE(SYSTEM_FONT_STYLE_TITLE_4) instead of IPHONE_OS_VERSION_MIN_REQUIRED.
This consolidates the watchOS/tvOS issue into the PlatformHave.h file, and
does not change behavior at this time.
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::cascadeToLastResortAttributesDictionary): Changed this to not use
a global since it's only called as part of initializing another global, and
to return a RetainPtr.
(WebCore::cascadeToLastResortAndVariationsFontDescriptor): Removed
WORKAROUND_CORETEXT_VARIATIONS_WITH_FALLBACK_LIST_BUG after researching to
be sure it's fixed on recent watchOS and tvOS. Also changed this to return
a raw pointer instead of RetainPtr since it returns a single global object.
Also removed the CTFontRef argument.
(WebCore::FontPlatformData::ctFont const): Updated for the changes above.
- platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::surfaceID const): Move from IPHONE_OS_VERSION_MIN_REQUIRED
to !PLATFORM(WATCHOS) && !PLATFORM(APPLETV).
- platform/graphics/ios/FontCacheIOS.mm:
(WebCore::platformFontWithFamilySpecialCase): Ditto.
- platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::createFontCustomPlatformData): Ditto.
Source/WebCore/PAL:
- pal/spi/cocoa/NSAttributedStringSPI.h: Moved iOS family version of
NSExcludedElementsDocumentAttribute to this header. For now didn't
change its implementation to match, just moved it as is.
Source/WebKit:
- NetworkProcess/NetworkActivityTracker.h: Move from IPHONE_OS_VERSION_MIN_REQUIRED
to !PLATFORM(APPLETV). There was already an explicit watchOS case here.
- Platform/spi/ios/UIKitSPI.h: Move from IPHONE_OS_VERSION_MIN_REQUIRED to
PLATFORM(IOS) in one place, and in the other removed the conditional entirely.
THe one place here that does PLATFORM(IOS) is for a property that is not on
watchOS and tvOS at this time, related to dragging. Decided not to add a comment
about it.
- Shared/WebPreferencesDefaultValues.h: Move from IPHONE_OS_VERSION_MIN_REQUIRED
to !PLATFORM(APPLETV). There was already an explicit watchOS case here.
- UIProcess/API/ios/WKWebViewIOS.mm:
(contentOffsetBoundedInValidRange): Move from IPHONE_OS_VERSION_MIN_REQUIRED
to !PLATFORM(WATCHOS) && !PLATFORM(APPLETV).
(-[WKWebView activeViewLayoutSize:]): Ditto.
(-[WKWebView _updateScrollViewInsetAdjustmentBehavior]): Ditto.
- UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:
(-[WKChildScrollView initWithFrame:]): Ditto.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:canBePreventedByGestureRecognizer:]): Ditto.
(-[WKContentView _showPlaybackTargetPicker:fromRect:routeSharingPolicy:routingContextUID:]): Ditto.
- UIProcess/ios/WKScrollView.h: Ditto.
- UIProcess/ios/WKScrollView.mm:
(-[WKScrollView initWithFrame:]): Ditto.
Source/WebKitLegacy/mac:
- WebCoreSupport/WebEditorClient.mm:
(attributesForAttributedStringConversion): Move from IPHONE_OS_VERSION_MIN_REQUIRED
to PLATFORM(WATCHOS) PLATFORM(APPLETV). - WebView/WebUIDelegatePrivate.h: Move from IPHONE_OS_VERSION_MIN_REQUIRED to
TARGET_OS_IOS for a method that is based on dragging concepts not present in
watchOS and tvOS.
- WebView/WebView.mm: Move from IPHONE_OS_VERSION_MIN_REQUIRED
to PLATFORM(IOS).
- WebView/WebViewPrivate.h: Move from IPHONE_OS_VERSION_MIN_REQUIRED to
TARGET_OS_IOS.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
Remove unneeded IPHONE_OS_VERSION_MIN_REQUIRED check.
- TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
Move from IPHONE_OS_VERSION_MIN_REQUIRED to
!PLATFORM(WATCHOS) && !PLATFORM(APPLETV).
- TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
Move from IPHONE_OS_VERSION_MIN_REQUIRED to
PLATFORM(IOS).
- TestWebKitAPI/Tests/ios/OverflowScrollViewTests.mm:
Move from IPHONE_OS_VERSION_MIN_REQUIRED to
!PLATFORM(WATCHOS) && !PLATFORM(APPLETV).
- WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView setOverrideSafeAreaInsets:]): Ditto.
- 6:43 PM Changeset in webkit [261137] by
-
- 4 edits in trunk/Source
Fix the mistake on macro HAVE_SYSTEM_FEATURE_FLAGS
https://bugs.webkit.org/show_bug.cgi?id=211416
Reviewed by Tim Horton.
We should use "#if HAVE(SYSTEM_FEATURE_FLAGS)" instead of "#if HAVE(HAVE_SYSTEM_FEATURE_FLAGS)".
Source/WebCore/PAL:
- pal/spi/cocoa/FeatureFlagsSPI.h:
Source/WebKit:
And we have to use the function _os_feature_enabled_impl() instead of the macro os_feature_enabled()
because WebKit is a namespace and cannot be used in os_feature_enabled().
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultAsyncFrameAndOverflowScrollingEnabled):
(WebKit::defaultUseGPUProcessForMedia):
(WebKit::defaultRenderCanvasInGPUProcessEnabled):
(WebKit::defaultCaptureAudioInGPUProcessEnabled):
(WebKit::defaultCaptureVideoInGPUProcessEnabled):
(WebKit::defaultWebRTCCodecsInGPUProcess):
(WebKit::defaultWebGL2Enabled):
(WebKit::defaultWebGPUEnabled):
(WebKit::defaultInAppBrowserPrivacy):
(WebKit::defaultIncrementalPDFEnabled):
(WebKit::defaultWebXREnabled):
- 6:27 PM Changeset in webkit [261136] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Eliminate SecurityServer and OCSPD from the WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=211417
<rdar://problem/46235370>
Reviewed by Per Arne Vollan.
We can now re-block access to these services.
- WebProcess/com.apple.WebProcess.sb.in:
- 6:18 PM Changeset in webkit [261135] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed, reverting r261117.
Broke lots of API tests
Reverted changeset:
"Excessive error logging from daemons trying to use WebKit,
under -[UIDevice currentDevice]"
https://bugs.webkit.org/show_bug.cgi?id=211397
https://trac.webkit.org/changeset/261117
- 6:03 PM Changeset in webkit [261134] by
-
- 5 edits in trunk
[Cocoa] Remove a few unneeded IPHONE_OS_VERSION_MIN_REQUIRED checks
https://bugs.webkit.org/show_bug.cgi?id=211383
Reviewed by Alexey Proskuryakov.
Source/WebKit:
- UIProcess/ios/forms/WKAirPlayRoutePicker.h: Removed a check against
iOS 11, in code that already explicitly checks for watchOS and tvOS.
Tools:
- TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST): Removed checks against iOS 12 and 13 in code that
uses PLATFORM(IOS), not PLATFORM(IOS_FAMILY).
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Removed a
check against iOS 11 in code using PLATFORM(IOS).
- 6:00 PM Changeset in webkit [261133] by
-
- 31 edits in trunk
Remove HAVE(IOSURFACE) checks in Cocoa-platform-specific code
https://bugs.webkit.org/show_bug.cgi?id=211389
Reviewed by Alexey Proskuryakov.
Source/WebCore:
- page/cocoa/MemoryReleaseCocoa.mm:
(WebCore::platformReleaseMemory): Remove HAVE(IOSURFACE) since it's always true
on Cocoa platforms.
- platform/graphics/RemoteVideoSample.cpp:
(WebCore::RemoteVideoSample::surface const): Ditto.
- platform/graphics/RemoteVideoSample.h: Ditto.
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::allocateIOSurfaceBackingStore): Ditto.
(WebCore::GraphicsContextGLOpenGL::updateFramebufferTextureBackingStoreFromLayer): Ditto.
- platform/graphics/cocoa/IOSurface.mm: Ditto.
- platform/graphics/cocoa/IOSurfacePoolCocoa.mm: Ditto.
- platform/graphics/cocoa/WebGLLayer.h: Ditto.
- platform/graphics/cocoa/WebGLLayer.mm:
(-[WebGLLayer display]): Ditto.
- platform/graphics/cv/ImageTransferSessionVT.h: Ditto.
- platform/graphics/cv/ImageTransferSessionVT.mm: Ditto.
- platform/graphics/cv/VideoTextureCopierCV.cpp:
(WebCore::YCbCrToRGBMatrixForRangeAndTransferFunction): Ditto.
(WebCore::VideoTextureCopierCV::copyImageToPlatformTexture): Ditto.
- platform/graphics/cv/VideoTextureCopierCV.h: Ditto.
- rendering/RenderThemeIOS.h: Ditto.
Source/WebCore/PAL:
- pal/spi/cocoa/QuartzCoreSPI.h: Remove HAVE(IOSURFACE).
Source/WebKit:
- GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
(WebKit::LibWebRTCCodecsProxy::encodeFrame): Remove HAVE(IOSURFACE) since
this is Cocoa-specific code.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::ensureBackingStore): Ditto.
(WebKit::RemoteLayerBackingStore::clearBackingStore): Ditto.
(WebKit::RemoteLayerBackingStore::encode const): Ditto.
(WebKit::RemoteLayerBackingStore::decode): Ditto.
(WebKit::RemoteLayerBackingStore::bytesPerPixel const): Ditto.
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer): Ditto.
(WebKit::RemoteLayerBackingStore::display): Ditto.
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer): Ditto.
(WebKit::RemoteLayerBackingStore::setBufferVolatility): Ditto.
(WebKit::RemoteLayerBackingStore::Buffer::discard): Ditto.
(WebKit::RemoteLayerBackingStore::surfaceBufferFormat const): Ditto.
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _takeViewSnapshot]): Ditto.
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]): Ditto.
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: Ditto.
- UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): Ditto.
- UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:
(WebKit::recursivelyMapIOSurfaceBackingStore): Ditto.
(WebKit::RemoteLayerTreeHost::mapAllIOSurfaceBackingStore): Ditto.
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp: Ditto.
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h: Ditto.
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::sampleBufferUpdated): Ditto.
- WebProcess/Network/webrtc/LibWebRTCProvider.cpp:
(WebKit::LibWebRTCProvider::createDecoderFactory): Ditto.
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::Source::remoteVideoSampleAvailable): Ditto.
(WebKit::UserMediaCaptureManager::remoteVideoSampleAvailable): Ditto.
Tools:
- DumpRenderTree/ios/PixelDumpSupportIOS.mm:
(createBitmapContextFromWebView): Remove BEGIN/END_BLOCK_OBJC_EXCEPTIONS
since they are not needed/appropriate in test code. Remove HAVE(IOSURFACE)
since this is Cocoa-specific.
- WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::windowSnapshotImage): Ditto.
- 5:59 PM Changeset in webkit [261132] by
-
- 19 edits2 copies4 adds in trunk
Overflow scrollbars don't grow when hovered
https://bugs.webkit.org/show_bug.cgi?id=210692
<rdar://problem/61977273>
Reviewed by Tim Horton.
Source/WebCore:
Overlay scrollar interaction has a few behaviors that are mediated by ScrollAnimatorMac. These
are a trackpad two-finger tap, which sends a "MayBegin" wheel event (which can be followed by
a "Cancelled" on fingers up, if they didn't move), and hovering the scrollbar when visible, which
causes it to expand (unhovering causes it to fade out).
To track these gestures on the scrolling thread, give ScrollingTree a ScrollingTreeGestureState.
Flashing the scrollbars on "MayBegin" is driven by didBeginScrollGesture()/didEndScrollGesture().
This relies on sending these for the correct scrollable area, and matching the begin/cancel,
so use the normal scrolling tree event handling code path for "MayBegin", and always send
"Cancelled" on the node that received "MayBegin. Do the same for "Began" and "Ended".
Scrollbars expanding on hover is controlled by these functions on ScrollAnimatorMac:
void mouseEnteredContentArea();
void mouseExitedContentArea();
void mouseMovedInContentArea();
void mouseEnteredScrollbar(Scrollbar*) const;
void mouseExitedScrollbar(Scrollbar*) const;
This mostly (webkit.org/b/211347) works now that the mayBegin/Canceled state is updated correctly,
and is tested by a new test.
Tests: fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html
fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::ScrollingTree):
(WebCore::ScrollingTree::handleWheelEvent):
- page/scrolling/ScrollingTree.h:
- page/scrolling/ScrollingTreeGestureState.cpp: Added.
(WebCore::ScrollingTreeGestureState::ScrollingTreeGestureState):
(WebCore::ScrollingTreeGestureState::receivedWheelEvent):
(WebCore::ScrollingTreeGestureState::handleGestureCancel):
(WebCore::ScrollingTreeGestureState::nodeDidHandleEvent):
(WebCore::ScrollingTreeGestureState::clearAllNodes):
- page/scrolling/ScrollingTreeGestureState.h: Copied from Source/WebCore/page/scrolling/ScrollingTreeLatchingController.h.
- page/scrolling/ScrollingTreeLatchingController.cpp:
(WebCore::ScrollingTreeLatchingController::nodeDidHandleEvent):
- page/scrolling/ScrollingTreeLatchingController.h:
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::canHandleWheelEvent const):
(WebCore::ScrollingTreeScrollingNode::canScrollWithWheelEvent const): Deleted.
- page/scrolling/ScrollingTreeScrollingNode.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):
- page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:
(WebCore::ScrollingTreeOverflowScrollingNodeMac::handleWheelEvent):
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::handleWheelEvent):
- platform/Logging.cpp:
(WebCore::initializeLogChannelsIfNecessary):
- platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::isGestureStart const):
(WebCore::PlatformWheelEvent::isGestureCancel const):
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::handleWheelEvent):
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::scrollbarState):
LayoutTests:
- fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered-expected.txt: Added.
- fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: Added.
- fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal-expected.txt: Added.
- fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: Copied from LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html.
- fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html:
- 5:36 PM Changeset in webkit [261131] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, reverting r261102.
https://bugs.webkit.org/show_bug.cgi?id=211418
Revert some debug logging (Requested by smfr on #webkit).
Reverted changeset:
"REGRESSION: [ Mac WK1 ] inspector/console/console-api.html is
flaky crashing"
https://bugs.webkit.org/show_bug.cgi?id=211386
https://trac.webkit.org/changeset/261102
- 5:31 PM Changeset in webkit [261130] by
-
- 4 edits in trunk/Source/WebCore
Drop code path using the legacy CFNetwork cookie change notification SPI
https://bugs.webkit.org/show_bug.cgi?id=211411
Reviewed by John Wilander.
Source/WebCore:
- platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::NetworkStorageSession::registerCookieChangeListenersIfNecessary):
(WebCore::NetworkStorageSession::unregisterCookieChangeListenersIfNecessary):
Source/WebCore/PAL:
- pal/spi/cf/CFNetworkSPI.h:
- 5:24 PM Changeset in webkit [261129] by
-
- 3 edits in trunk/Source/WebKit
Use default constructor and default initializer for SecItemRequestData
<https://webkit.org/b/211399>
<rdar://problem/62861551>
Reviewed by Darin Adler.
- Shared/mac/SecItemRequestData.cpp:
- Remove default constructor implementation.
- Shared/mac/SecItemRequestData.h:
- Use default constructor for class.
- Use default initializer for m_type.
- 5:09 PM Changeset in webkit [261128] by
-
- 2 edits in trunk/Tools
block-spammers tool should hide attachments
https://bugs.webkit.org/show_bug.cgi?id=211406
Reviewed by Darin Adler.
The logic is nearly identical to hiding comments. Just need to limit fields in the
search, so that we don't have to download attachment data.
- Scripts/block-spammers:
(get_comments):
(get_bugs_with_attachments_created_by_user):
(get_attachments):
(hide_comments):
(hide_attachments):
(main):
- 5:03 PM Changeset in webkit [261127] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Tabs jiggle on click
https://bugs.webkit.org/show_bug.cgi?id=211177
<rdar://problem/62590810>
Reviewed by Devin Rousso.
Currently, tab dragging starts immediately after mouse down. With this patch,
dragging starts only after the mouse cursor moving 12 pixels. This roughly matches
macOS Safari tabs.
- UserInterface/Views/TabBar.js:
(WI.TabBar):
(WI.TabBar.prototype._handleTabContainerMouseDown):
(WI.TabBar.prototype._handleMouseUp):
(WI.TabBar.prototype._handleTabContainerMouseLeave):
- 4:55 PM Changeset in webkit [261126] by
-
- 3 edits2 adds in trunk
Nullptr crash in CompositeEditCommand::moveParagraphs when changing style on elements that are
user-select:none and dir:rtl.
https://bugs.webkit.org/show_bug.cgi?id=211206
<rdar://problem/61830589>
Reviewed by Geoffrey Garen.
Source/WebCore:
In function moveParagraphs check if the destination is an empty position and
bail out before moving the paragraphs.
Test: fast/editing/justify-user-select-none-dir-rtl-crash.html
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphs):
LayoutTests:
Added a regression test for the crash.
- fast/editing/justify-user-select-none-dir-rtl-crash-expected.txt: Added.
- fast/editing/justify-user-select-none-dir-rtl-crash.html: Added.
- 4:37 PM Changeset in webkit [261125] by
-
- 5 edits in trunk
[JSC] Add @@toStringTag to WebAssembly.Global
https://bugs.webkit.org/show_bug.cgi?id=211372
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/wasm/jsapi/global/toString.any-expected.txt:
- web-platform-tests/wasm/jsapi/global/toString.any.worker-expected.txt:
Source/JavaScriptCore:
As r260992 did for the other wasm prototypes, we should put @@toStringTag to WebAssembly.Global's prototype too.
- wasm/js/WebAssemblyGlobalPrototype.cpp:
(JSC::WebAssemblyGlobalPrototype::finishCreation):
- 4:25 PM Changeset in webkit [261124] by
-
- 2 edits in trunk/LayoutTests
[ iPadOS wk2 ] editing/selection/selection-change-in-mutation-event-by-remove-children.html is timing out.
https://bugs.webkit.org/show_bug.cgi?id=208840
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 4:24 PM Changeset in webkit [261123] by
-
- 3 edits in trunk/Source/WebKit
REGRESSION (r259470): Accessibility Stereo to Mono is not working
https://bugs.webkit.org/show_bug.cgi?id=211408
<rdar://problem/62847299>
Reviewed by Per Arne Vollan.
The changes in r259470 regressed our Accessibility features. We need to do a rollout of that
change to restore proper behavior.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 4:22 PM Changeset in webkit [261122] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r261109): [ Mac ] inspector/css/getAllStyleSheets.html is failing
https://bugs.webkit.org/show_bug.cgi?id=211405
<rdar://problem/62863843>
Unreviewed, remove unnecessary call to function that no longer exists.
- inspector/css/getAllStyleSheets.html:
- 4:17 PM Changeset in webkit [261121] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r261108): [ Mac ] inspector/timeline/timeline-recording.html is failing
https://bugs.webkit.org/show_bug.cgi?id=211404
<rdar://problem/62863766>
Unreviewed, update test expectation.
- inspector/timeline/timeline-recording-expected.txt:
- 3:58 PM Changeset in webkit [261120] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] webgl/2.0.0/conformance/extensions/webgl-draw-buffers.html has been timing out ever since it was introduced.
https://bugs.webkit.org/show_bug.cgi?id=208524
Unreviewed test gardening: Removing expectations.
- platform/mac-wk1/TestExpectations:
- 3:51 PM Changeset in webkit [261119] by
-
- 1 copy in tags/Safari-610.1.11.7
Tag Safari-610.1.11.7.
- 3:26 PM Changeset in webkit [261118] by
-
- 8 edits in trunk/Source
[WebAuthn] Implement +[_WKWebAuthenticationPanel clearAllLocalAuthenticatorCredentials]
https://bugs.webkit.org/show_bug.cgi?id=211369
<rdar://problem/60246635>
Reviewed by Brent Fulgham.
Source/WebCore:
Covered by manual tests given auto tests could clear developers' actual credentials.
- Modules/webauthn/WebAuthenticationConstants.h:
Source/WebKit:
Adds a new SPI for UI clients to clear all existing credentials from the keychain.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(+[_WKWebAuthenticationPanel clearAllLocalAuthenticatorCredentials]):
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.h:
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::clearAllCredentials):
- UIProcess/WebAuthentication/Cocoa/LocalConnection.mm:
(WebKit::LocalConnection::createCredentialPrivateKey const):
- 3:11 PM Changeset in webkit [261117] by
-
- 3 edits in trunk/Source/WebKit
Excessive error logging from daemons trying to use WebKit, under -[UIDevice currentDevice]
https://bugs.webkit.org/show_bug.cgi?id=211397
<rdar://problem/61635403>
Reviewed by Simon Fraser.
- Shared/UserInterfaceIdiom.mm:
(WebKit::userInterfaceIdiomIsPad):
Adjust userInterfaceIdiomIsPad so that in daemons, it consults only MobileGestalt,
which returns the actual hardware model, and does not try to use UIDevice.
UIDevice is more accurate for applications because it will report that
the device is an iPhone when called inside an iPhone app running on iPad,
but it cannot be used in daemons that do not have a UIApplication.
For the behaviors we gate on this bit, it makes sense to use iPhone
behaviors on iPad in the iPhone app jail, so we continue using
UIDevice if possible.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
Make use of the new mechanism instead of going straight to MobileGestalt,
for the aforementioned reasons.
- 3:08 PM Changeset in webkit [261116] by
-
- 3 edits in trunk/Source/WebKit
Stop hard-coding get-task-allow entitlement for simulator builds
https://bugs.webkit.org/show_bug.cgi?id=211392
Reviewed by Geoffrey Garen.
Stop hard-coding get-task-allow entitlement for simulator builds and let Xcode inject it as needed.
- Configurations/BaseXPCService.xcconfig:
- Resources/ios/XPCService-embedded-simulator.entitlements:
- 3:00 PM Changeset in webkit [261115] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (JazzkonE): ResourceLoadStatisticsDatabaseStore checks 'hasHadUserInteraction' without ensuring the domain has been added to the ITP database (211388)
https://bugs.webkit.org/show_bug.cgi?id=211388
<rdar://problem/62849919>
Reviewed by John Wilander.
A spurious log entry is created if we check 'hasHadUserInteraction' before inserting a row for the domain
being checked (if that domain had not previosly been observed). This patch changes the order of the two
commands to avoid this possibility. This makes the database implementation behave like the in-memory version.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::logUserInteraction):
- 2:58 PM Changeset in webkit [261114] by
-
- 2 edits in trunk/Source/WebKit
Reduce AlternativeService assertion to debug-only assert
https://bugs.webkit.org/show_bug.cgi?id=211263
<rdar://problem/61354813>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-04
Reviewed by Chris Dumez.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
This is asserting sometimes. No need to crash. Reduce to debug-only assert.
- 2:24 PM Changeset in webkit [261113] by
-
- 45 edits1 add in trunk
Throttling requestAnimationFrame should be controlled by RenderingUpdateScheduler
https://bugs.webkit.org/show_bug.cgi?id=204713
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-05-04
Reviewed by Simon Fraser.
Source/WebCore:
rAF and Page rendering were managed by two different timers. Throttling
rAF was implemented by changing its timer. After r242624, RenderingUpdate
steps have been managed by RenderingUpdateScheduler. This means rAF is
now serviced by the preferredFramesPerSecond which is 60 fps regardless
it's throttled or not. Moreover the rAF throttling timer was mistakenly
kept and it has been running under the old assumption which is: rAF is
serviced by a timer only. This means rAF will be serviced by its timer
and by the RenderingUpdate steps at the same time when it is supposed to
throttle. This will make it fire more than 60 fps in cases which it is
supposed to run less than 60 fps.
The solution is to have two throttling types:
1) Page throttling (or full throttling): This slows down all the steps
of RenderingUpdate for the main document and all the sub-documents.
Page throttling reasons are:
-- VisuallyIdle: Aggressive throttling.
-- LowPowerMode: Half speed throttling.
2) Document throttling (or partial throttling): This only slows down the
rAF of a certain document. Document throttling reasons are:
-- OutsideViewport: Aggressive throttling.
-- NonInteractedCrossOriginFrame: Half speed throttling.
RenderingUpdate steps will still be managed by RenderingUpdateScheduler
which can be throttled. The assumption is none of these steps will need
to run faster than the Page preferredFramesPerSecond. If rAF wants to
run slower than the Page because of a Document throttling reason, no rAF
callbacks will be serviced before its preferredFrameInterval has elapsed.
In this patch, "Half speed throttling" is only implemented for the Page
and the Document throttling. The "Aggressive throttling" will be done in
following patches. Page rendering was never throttled before. We need to
make sure this is not going to affect PLT. Some tests need to be changed
and new tests need to be written. All of the throttling tests checks the
state of the code but none of them checks the real user's experience.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::animationInterval const):
(WebCore::DocumentTimeline::updateThrottlingState): Deleted.
- animation/DocumentTimeline.h:
There is no need to have DocumentTimeline throttling. It is already
throttled when the page RenderingUpdate is throttled.
- dom/Document.cpp:
(WebCore::Document::requestAnimationFrame):
(WebCore::Document::updateLastHandledUserGestureTimestamp):
LowPowerMode throttling is now handled by the Page. So remove its handling
from the Document.
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::ScriptedAnimationController):
(WebCore::ScriptedAnimationController::page const):
(WebCore::ScriptedAnimationController::interval const):
(WebCore::ScriptedAnimationController::preferredScriptedAnimationInterval const):
(WebCore::ScriptedAnimationController::throttlingReasons const):
(WebCore::ScriptedAnimationController::isThrottledRelativeToPage const):
(WebCore::ScriptedAnimationController::shouldRescheduleRequestAnimationFrame const):
(WebCore::ScriptedAnimationController::registerCallback):
(WebCore::ScriptedAnimationController::cancelCallback):
(WebCore::ScriptedAnimationController::serviceRequestAnimationFrameCallbacks):
(WebCore::ScriptedAnimationController::scheduleAnimation):
(WebCore::throttlingReasonToString): Deleted.
(WebCore::throttlingReasonsToString): Deleted.
(WebCore::ScriptedAnimationController::addThrottlingReason): Deleted.
(WebCore::ScriptedAnimationController::removeThrottlingReason): Deleted.
(WebCore::ScriptedAnimationController::isThrottled const): Deleted.
(WebCore::ScriptedAnimationController::animationTimerFired): Deleted.
- dom/ScriptedAnimationController.h:
(WebCore::ScriptedAnimationController::addThrottlingReason):
(WebCore::ScriptedAnimationController::removeThrottlingReason):
Get rid of the rAF throttling timer. Service the rAF callback only when
the period from the current time stamp till the last service time stamp
is greater than the preferred rAF interval.
- page/FrameView.cpp:
(WebCore::FrameView::updateScriptedAnimationsAndTimersThrottlingState):
ThrottlingReason is now defined outside ScriptedAnimationController.
- page/Page.cpp:
(WebCore::m_loadsFromNetwork):
(WebCore::Page::setLowPowerModeEnabledOverrideForTesting):
(WebCore::Page::preferredRenderingUpdateInterval const):
Calculate the preferred RenderingUpdate interval from the throttling
reasons.
(WebCore::Page::setIsVisuallyIdleInternal):
(WebCore::Page::handleLowModePowerChange):
Call adjustRenderingUpdateFrequency() when isLowPowerModeEnabled or
IsVisuallyIdle is toggled.
(WebCore::Page::isLowPowerModeEnabled const): Deleted.
(WebCore::updateScriptedAnimationsThrottlingReason): Deleted.
- page/Page.h:
(WebCore::Page::isLowPowerModeEnabled const):
(WebCore::Page::throttlingReasons const):
(WebCore::Page::canUpdateThrottlingReason const):
- page/RenderingUpdateScheduler.cpp:
(WebCore::RenderingUpdateScheduler::setPreferredFramesPerSecond):
(WebCore::RenderingUpdateScheduler::scheduleAnimation):
(WebCore::RenderingUpdateScheduler::adjustRenderingUpdateFrequency):
Change the preferredFramesPerSecond of the DisplayRefreshMonitor if the
throttling is not aggressive e.g. 10_s. Otherwise use the timer.
(WebCore::RenderingUpdateScheduler::scheduleTimedRenderingUpdate):
Call adjustFramesPerSecond() when DisplayRefreshMonitor is created.
(WebCore::RenderingUpdateScheduler::startTimer):
- page/RenderingUpdateScheduler.h:
- platform/graphics/AnimationFrameRate.h: Added.
(WebCore::preferredFrameInterval):
(WebCore::preferredFramesPerSecond):
(WebCore::operator<<):
Push names of ThrottlingReasons to a TextStream.
- platform/graphics/DisplayRefreshMonitor.h:
(WebCore::DisplayRefreshMonitor::setPreferredFramesPerSecond):
- platform/graphics/DisplayRefreshMonitorManager.cpp:
(WebCore::DisplayRefreshMonitorManager::monitorForClient):
Rename createMonitorForClient() to monitorForClient() since it may return
a cached DisplayRefreshMonitor.
(WebCore::DisplayRefreshMonitorManager::setPreferredFramesPerSecond):
(WebCore::DisplayRefreshMonitorManager::scheduleAnimation):
(WebCore::DisplayRefreshMonitorManager::windowScreenDidChange):
No need to call registerClient(). This function was just ensuring the
DisplayRefreshMonitor is created. scheduleAnimation() does the same thing.
(WebCore::DisplayRefreshMonitorManager::createMonitorForClient): Deleted.
(WebCore::DisplayRefreshMonitorManager::registerClient): Deleted.
- platform/graphics/DisplayRefreshMonitorManager.h:
(WebCore::DisplayRefreshMonitorManager::DisplayRefreshMonitorManager): Deleted.
- platform/graphics/GraphicsLayerUpdater.cpp:
(WebCore::GraphicsLayerUpdater::GraphicsLayerUpdater):
- platform/graphics/ios/DisplayRefreshMonitorIOS.mm:
(-[WebDisplayLinkHandler setPreferredFramesPerSecond:]):
Set the preferredFramesPerSecond of the CADisplayLink.
- testing/Internals.cpp:
(WebCore::Internals::requestAnimationFrameThrottlingReasons const):
(WebCore::Internals::isRequestAnimationFrameThrottled const): Deleted.
- testing/Internals.h:
- testing/Internals.idl:
Replace isRequestAnimationFrameThrottled() which returns a boolean by
requestAnimationFrameThrottlingReasons() which returns a string. The
string represents the throttling reasons.
Source/WebKit:
Create an IPC message on the DrawingArea to send a message from the
WebProcess to the UIProcess to setPreferredFramesPerSecond of the
DisplayRefreshMonitor.
- UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
- UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.messages.in:
- UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(-[WKOneShotDisplayLinkHandler setPreferredFramesPerSecond:]):
(WebKit::RemoteLayerTreeDrawingAreaProxy::setPreferredFramesPerSecond):
Set the preferredFramesPerSecond of the CADisplayLink.
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.h:
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm:
(WebKit::RemoteLayerTreeDisplayRefreshMonitor::setPreferredFramesPerSecond):
Forward the call to RemoteLayerTreeDrawingArea.
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setPreferredFramesPerSecond):
Send the IPC message from the WebProcess to the UIProcess.
LayoutTests:
- fast/animation/request-animation-frame-throttle-inside-overflow-scroll-expected.txt:
- fast/animation/request-animation-frame-throttle-inside-overflow-scroll.html:
- fast/animation/request-animation-frame-throttle-subframe-display-none-expected.txt:
- fast/animation/request-animation-frame-throttle-subframe-display-none.html:
- fast/animation/request-animation-frame-throttle-subframe-expected.txt:
- fast/animation/request-animation-frame-throttle-subframe-zero-size-expected.txt:
- fast/animation/request-animation-frame-throttle-subframe-zero-size.html:
- fast/animation/request-animation-frame-throttle-subframe.html:
- fast/animation/request-animation-frame-throttling-detached-iframe-expected.txt:
- fast/animation/request-animation-frame-throttling-detached-iframe.html:
Replace the call isRequestAnimationFrameThrottled() by requestAnimationFrameThrottlingReasons().
- fast/animation/request-animation-frame-throttling-lowPowerMode-expected.txt:
- fast/animation/request-animation-frame-throttling-lowPowerMode.html:
Ensure the actual rAF interval is > 30ms for lowPowerMode.
- http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe-expected.txt:
- http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html:
- http/tests/frame-throttling/resources/requestAnimationFrame-frame.html:
Replace the call isRequestAnimationFrameThrottled() by requestAnimationFrameThrottlingReasons().
- 2:04 PM Changeset in webkit [261112] by
-
- 2 edits in trunk/Source/WebKit
TestWebKitAPI.WebKit.CustomDisplayName is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=211299
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-04
Reviewed by Chris Dumez.
Sometimes the task queued in WebProcess::updateProcessName happens after the one in WebProcess::updateActivePages.
Schedule them on the same queue so they happen in deterministic order so we get reliable process names eventually.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::updateActivePages):
- 1:41 PM Changeset in webkit [261111] by
-
- 8 edits in branches/safari-610.1.11-branch/Source
Versioning.
- 1:21 PM Changeset in webkit [261110] by
-
- 11 edits in trunk
Remove unneeded USE(MEDIAREMOTE)
https://bugs.webkit.org/show_bug.cgi?id=211385
Reviewed by Eric Carlson.
Source/WebCore:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::updateNowPlayingInfo): Remove USE(MEDIAREMOTE).
- platform/mac/MediaRemoteSoftLink.cpp: Ditto.
- platform/mac/MediaRemoteSoftLink.h: Ditto.
- platform/mac/RemoteCommandListenerMac.mm:
(WebCore::RemoteCommandListenerMac::updateSupportedCommands): Ditto.
(WebCore::RemoteCommandListenerMac::RemoteCommandListenerMac): Ditto.
(WebCore::RemoteCommandListenerMac::~RemoteCommandListenerMac): Ditto.
Source/WebCore/PAL:
- pal/spi/mac/MediaRemoteSPI.h: Removed check of USE(MEDIAREMOTE).
Also got rid of has_include for MRNowPlayingTypes.h and moved
it down into the normal sections below.
Source/WTF:
- wtf/PlatformUse.h: Don't set USE_MEDIAREMOTE.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm: Reverse conditional so it's
consistently listing which platforms we do *not* compile the test on.
- 1:14 PM Changeset in webkit [261109] by
-
- 19 edits4 deletes in trunk/Source/WebInspectorUI
Web Inspector: drop support for iOS 9.*
https://bugs.webkit.org/show_bug.cgi?id=211314
Reviewed by Daniel Bates.
- UserInterface/Controllers/BreakpointPopoverController.js:
(WI.BreakpointPopoverController.prototype._createPopoverContent):
- UserInterface/Controllers/CSSManager.js:
(WI.CSSManager):
(WI.CSSManager.prototype.preferredInspectorStyleSheetForFrame):
(WI.CSSManager.prototype._mainResourceDidChange):
(WI.CSSManager.prototype._fetchInfoForAllStyleSheets):
(WI.CSSManager.prototype.fetchStyleSheetsIfNeeded): Deleted.
(WI.CSSManager.prototype.preferredInspectorStyleSheetForFrame.documentNodeAvailable): Deleted.
(WI.CSSManager.prototype.preferredInspectorStyleSheetForFrame.bodyNodeAvailable): Deleted.
(WI.CSSManager.prototype.preferredInspectorStyleSheetForFrame.cssRuleAvailable): Deleted.
- UserInterface/Controllers/DebuggerManager.js:
(WI.DebuggerManager.prototype._scopeChainNodeFromPayload):
- UserInterface/Controllers/LayerTreeManager.js:
(WI.LayerTreeManager.prototype.set showPaintRects):
- UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.prototype.initializeTarget):
(WI.TimelineManager.defaultTimelineTypes):
(WI.TimelineManager.availableTimelineTypes):
(WI.TimelineManager.prototype.set autoCaptureOnPageLoad):
(WI.TimelineManager.prototype._processRecord):
(WI.TimelineManager.prototype._attemptAutoCapturingForFrame):
- UserInterface/Models/CSSCompletions.js:
(WI.CSSCompletions.initializeCSSCompletions):
- UserInterface/Models/DOMNodeStyles.js:
(WI.DOMNodeStyles.prototype.refresh):
- UserInterface/Models/HeapAllocationsInstrument.js:
(WI.HeapAllocationsInstrument):
(WI.HeapAllocationsInstrument.supported): Deleted.
- UserInterface/Models/MemoryInstrument.js:
(WI.MemoryInstrument): Deleted.
(WI.MemoryInstrument.supported): Deleted.
- UserInterface/Models/NativeFunctionParameters.js:
- UserInterface/Models/ScriptInstrument.js:
(WI.ScriptInstrument.prototype.startInstrumentation):
(WI.ScriptInstrument.prototype.stopInstrumentation):
- UserInterface/Models/ScriptSyntaxTree.js:
(WI.ScriptSyntaxTree.functionReturnDivot):
- UserInterface/Models/ScriptTimelineRecord.js:
(WI.ScriptTimelineRecord):
(WI.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
- UserInterface/Protocol/DebuggerObserver.js:
(WI.DebuggerObserver.prototype.scriptParsed):
- UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js: Removed.
- UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js: Removed.
- UserInterface/Views/ScriptClusterTimelineView.js:
(WI.ScriptClusterTimelineView):
(WI.ScriptClusterTimelineView.createPathComponent):
(WI.ScriptClusterTimelineView.prototype.reset):
(WI.ScriptClusterTimelineView.prototype.showProfile):
(WI.ScriptClusterTimelineView.prototype._canShowProfileView): Deleted.
- UserInterface/Views/ScriptDetailsTimelineView.js:
(WI.ScriptDetailsTimelineView):
- UserInterface/Views/SearchSidebarPanel.js:
(WI.SearchSidebarPanel.prototype.performSearch):
- UserInterface/Views/TimelineRecordingContentView.js:
(WI.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
(WI.TimelineRecordingContentView.prototype._recordingTimesUpdated):
- Versions/Inspector-iOS-9.0.json: Removed.
- Versions/Inspector-iOS-9.3.json: Removed.
- 1:12 PM Changeset in webkit [261108] by
-
- 22 edits2 deletes in trunk/Source/WebInspectorUI
Web Inspector: drop support for iOS 8.*
https://bugs.webkit.org/show_bug.cgi?id=211312
Reviewed by Daniel Bates.
- UserInterface/Controllers/DOMManager.js:
(WI.DOMManager.prototype.highlightSelector):
- UserInterface/Controllers/NetworkManager.js:
(WI.NetworkManager.prototype.resourceRequestWillBeSent):
- UserInterface/Controllers/RuntimeManager.js:
(WI.RuntimeManager.prototype.initializeTarget):
(WI.RuntimeManager.prototype.evaluateInInspectedWindow):
- UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.defaultTimelineTypes):
(WI.TimelineManager.prototype._loadNewRecording):
- UserInterface/Models/DOMNodeStyles.js:
(WI.DOMNodeStyles.parseSelectorListPayload):
- UserInterface/Models/FPSInstrument.js:
(WI.FPSInstrument): Deleted.
(WI.FPSInstrument.supported): Deleted.
- UserInterface/Models/ObjectPreview.js:
(WI.ObjectPreview.fromPayload):
- UserInterface/Models/ProfileNode.js:
(WI.ProfileNode):
(WI.ProfileNode.prototype.get startTime):
(WI.ProfileNode.prototype.get endTime):
(WI.ProfileNode.prototype.computeCallInfoForTimeRange):
(WI.ProfileNode.prototype.get calls): Deleted.
(WI.ProfileNode.prototype.computeCallInfoForTimeRange.totalTimeInRange): Deleted.
- UserInterface/Models/Resource.js:
(WI.Resource.prototype.get initiatedResources):
(WI.Resource.prototype.get originalRequestWillBeSentTimestamp): Deleted.
- UserInterface/Models/ResourceTimingData.js:
(WI.ResourceTimingData.fromPayload):
- UserInterface/Models/ScriptTimelineRecord.js:
(WI.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
- UserInterface/Models/TimelineRecording.js:
(WI.TimelineRecording):
(WI.TimelineRecording.prototype.computeElapsedTime):
(WI.TimelineRecording.prototype.setLegacyBaseTimestamp): Deleted.
- UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js: Removed.
- UserInterface/Protocol/RemoteObject.js:
(WI.RemoteObject.fromPayload):
(WI.RemoteObject.prototype.getDisplayablePropertyDescriptors):
- UserInterface/Protocol/Target.js:
(WI.Target.prototype.initialize):
- UserInterface/Views/ObjectTreePropertyTreeElement.js:
(WI.ObjectTreePropertyTreeElement.prototype._updateProperties):
(WI.ObjectTreePropertyTreeElement):
- UserInterface/Views/ObjectTreeView.js:
(WI.ObjectTreeView.prototype._updateProperties):
- UserInterface/Views/ScriptTimelineDataGridNode.js:
(WI.ScriptTimelineDataGridNode.prototype.get data):
- UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor.prototype._createTypeTokenAnnotator):
(WI.SourceCodeTextEditor.prototype._createBasicBlockAnnotator):
- UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel.prototype._updatePauseReasonSection):
- UserInterface/Views/TimelineOverview.js:
(WI.TimelineOverview):
- UserInterface/Views/TimelineTabContentView.js:
(WI.TimelineTabContentView):
(WI.TimelineTabContentView.prototype.closed):
(WI.TimelineTabContentView.prototype.restoreFromCookie):
- Versions/Inspector-iOS-8.0.json: Removed.
- 1:02 PM Changeset in webkit [261107] by
-
- 2 edits in trunk/Source/WebKit
Remove unneeded check for Apple Media Services
https://bugs.webkit.org/show_bug.cgi?id=211391
<rdar://problem/62853199>
Reviewed by Per Arne Vollan.
Earlier in the development cycle we added an entitlement check for AppleMediaServices, that we now realize
we do not need. Since this is a non-zero performance cost, remove this check.
- UIProcess/WebPageProxy.cpp:
- 1:00 PM Changeset in webkit [261106] by
-
- 4 edits in trunk/LayoutTests
(r261004) platform/mac/media/media-source/media-source-change-source.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=211326
<rdar://problem/62751237>
Unreviewed, skip new test on platforms where it is expected to fail.
Set explicitly timeout before checking initial audio session category so it will fail
with an error message if it takes too long to run. Skip the test in the GPU process, because
audio session is not yet fully supported, and on WK1 because audio session is a singleton.
- gpu-process/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac/media/media-source/media-source-change-source.html: Added.
- 12:58 PM Changeset in webkit [261105] by
-
- 17 edits4 deletes in trunk/Source/WebInspectorUI
Web Inspector: drop support for iOS 10.*
https://bugs.webkit.org/show_bug.cgi?id=211318
Reviewed by Daniel Bates.
- UserInterface/Controllers/DOMDebuggerManager.js:
(WI.DOMDebuggerManager.supportsDOMBreakpoints):
(WI.DOMDebuggerManager.prototype._updateDOMBreakpoint):
- UserInterface/Controllers/DebuggerManager.js:
(WI.DebuggerManager.prototype.async initializeTarget):
(WI.DebuggerManager.prototype.debuggerDidResume):
- UserInterface/Controllers/NetworkManager.js:
(WI.NetworkManager.prototype.initializeTarget):
(WI.NetworkManager.prototype.webSocketWillSendHandshakeRequest):
(WI.NetworkManager.prototype.resourceRequestDidReceiveResponse):
(WI.NetworkManager.prototype.markResourceRequestAsServedFromMemoryCache): Deleted.
- UserInterface/Controllers/RuntimeManager.js:
(WI.RuntimeManager.prototype.initializeTarget):
- UserInterface/Models/Resource.js:
(WI.Resource.prototype.legacyMarkServedFromMemoryCache): Deleted.
(WI.Resource.prototype.legacyMarkServedFromDiskCache): Deleted.
- UserInterface/Models/ResourceTimingData.js:
(WI.ResourceTimingData.fromPayload):
- UserInterface/Models/WebSocketResource.js:
(WI.WebSocketResource.prototype.addFrame):
- UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js: Removed.
- UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js: Removed.
- UserInterface/Protocol/NetworkObserver.js:
(WI.NetworkObserver.prototype.requestServedFromCache): Deleted.
- UserInterface/Protocol/PageObserver.js:
(WI.PageObserver.prototype.frameClearedScheduledNavigation):
(WI.PageObserver):
(WI.PageObserver.prototype.javascriptDialogOpening): Deleted.
(WI.PageObserver.prototype.javascriptDialogClosed): Deleted.
(WI.PageObserver.prototype.scriptsEnabled): Deleted.
- UserInterface/Views/LogContentView.js:
(WI.LogContentView.prototype._garbageCollect):
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView):
- UserInterface/Views/NetworkTimelineView.js:
(WI.NetworkTimelineView):
- UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WI.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse):
- UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel):
- UserInterface/Views/WebSocketContentView.js:
(WI.WebSocketContentView):
(WI.WebSocketContentView.prototype._addRow):
- Versions/Inspector-iOS-10.0.json: Removed.
- Versions/Inspector-iOS-10.3.json: Removed.
- UserInterface/Protocol/CSSObserver.js:
(WI.CSSObserver.prototype.namedFlowCreated):
(WI.CSSObserver.prototype.namedFlowRemoved):
(WI.CSSObserver.prototype.regionOversetChanged):
(WI.CSSObserver.prototype.registeredNamedFlowContentElement):
(WI.CSSObserver.prototype.unregisteredNamedFlowContentElement):
Fix compatibility comments.
- 12:51 PM Changeset in webkit [261104] by
-
- 19 edits in trunk
Web Inspector: Worker: should use the name of the worker if it exists
https://bugs.webkit.org/show_bug.cgi?id=211244
Reviewed by Brian Burg.
Source/JavaScriptCore:
- inspector/protocol/Worker.json:
Include the
nameinWorker.workerCreated.
Source/WebCore:
Test: inspector/worker/runtime-basic.html
Pass the
namefrom theWorkerOptionsgiven to theWorkerwhen it's constructed to Web
Inspector so it can be used in the frontend UI.
Drive-by: replace lots of pointers with references.
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
- workers/WorkerInspectorProxy.h:
(WebCore::WorkerInspectorProxy::name const): Added.
- workers/WorkerInspectorProxy.cpp:
(WebCore::WorkerInspectorProxy::workerStarted):
(WebCore::WorkerInspectorProxy::workerTerminated):
(WebCore::WorkerInspectorProxy::connectToWorkerInspectorController):
(WebCore::WorkerInspectorProxy::sendMessageFromWorkerToFrontend):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::workerStarted):
(WebCore::InspectorInstrumentation::workerTerminated):
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::workerStartedImpl):
(WebCore::InspectorInstrumentation::workerTerminatedImpl):
- inspector/agents/InspectorWorkerAgent.h:
- inspector/agents/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::sendMessageFromWorkerToFrontend):
(WebCore::InspectorWorkerAgent::workerStarted):
(WebCore::InspectorWorkerAgent::workerTerminated):
(WebCore::InspectorWorkerAgent::connectToAllWorkerInspectorProxiesForPage):
(WebCore::InspectorWorkerAgent::connectToWorkerInspectorProxy):
(WebCore::InspectorWorkerAgent::disconnectFromWorkerInspectorProxy):
Source/WebInspectorUI:
- UserInterface/Protocol/WorkerObserver.js:
(WI.WorkerObserver.prototype.workerCreated):
- UserInterface/Controllers/WorkerManager.js:
(WI.WorkerManager.prototype.workerCreated):
- UserInterface/Protocol/WorkerTarget.js:
(WI.WorkerTarget):
(WI.WorkerTarget.prototype.get customName): Added.
(WI.WorkerTarget.prototype.get displayName):
(WI.WorkerTarget.prototype.get displayURL): Added.
Use thenamefrom theWorkerOptionsgiven to theWorkerwhen it's constructed as the
displayNameof theWI.WorkerTargetif able. Also exposed viaget customName.
- UserInterface/Views/ScriptTreeElement.js:
(WI.ScriptTreeElement):
- UserInterface/Views/WorkerTreeElement.js:
(WI.WorkerTreeElement):
Accept anoptionsoptional object that can be used to override themainTitle.
LayoutTests:
- inspector/worker/runtime-basic.html:
- inspector/worker/runtime-basic-expected.txt:
- 12:51 PM Changeset in webkit [261103] by
-
- 27 edits4 adds in trunk
Web Inspector: provide a way for inspector to turn on/off ITP debug mode and AdClickAttribution debug mode
https://bugs.webkit.org/show_bug.cgi?id=209763
Reviewed by Brian Burg.
Source/JavaScriptCore:
- inspector/protocol/Page.json:
Add new enum values to
Page.Setting:
AdClickAttributionDebugModeEnabledITPDebugModeEnabled
Source/WebCore:
Tests: inspector/page/overrideSetting-AdClickAttributionDebugModeEnabled.html
inspector/page/overrideSetting-ITPDebugModeEnabled.html
- inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::overrideSetting):
- inspector/InspectorClient.h:
(WebCore::InspectorClient::setDeveloperPreferenceOverride): Added.
(WebCore::InspectorClient::setMockCaptureDevicesEnabledOverride): Deleted.
Source/WebInspectorUI:
- UserInterface/Base/Main.js:
(WI._handleDeviceSettingsTabBarButtonClicked):
Add a new section to the device settings popover:
Enable: [ ] ITP Debug Mode
[ ] Ad Click Attribution Debug Mode
- Localizations/en.lproj/localizedStrings.js:
Source/WebKit:
Generalize the
setMockCaptureDevicesEnabledOverrideto besetDeveloperPreferenceOverride
that uses an enumWebCore::InspectorClient::DeveloperPreferenceto know what to do.
Communicate with the NetworkProcess (from the WebProcess via the UIProcess) in the case of:
AdClickAttributionDebugModeEnabledITPDebugModeEnabled
- WebProcess/Inspector/WebInspectorClient.h:
- WebProcess/Inspector/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::setDeveloperPreferenceOverride): Added.
(WebKit::WebInspectorClient::setMockCaptureDevicesEnabledOverride): Deleted.
- WebProcess/Inspector/WebInspector.h:
- WebProcess/Inspector/WebInspector.cpp:
(WebKit::WebInspector::setDeveloperPreferenceOverride): Added.
(WebKit::WebInspector::setMockCaptureDevicesEnabledOverride): Deleted.
- UIProcess/Inspector/WebInspectorProxy.messages.in:
- UIProcess/Inspector/WebInspectorProxy.h:
- UIProcess/Inspector/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::setDeveloperPreferenceOverride): Added.
(WebKit::WebInspectorProxy::setMockCaptureDevicesEnabledOverride): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::setAdClickAttributionDebugMode): Added.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setAdClickAttributionDebugMode): Added.
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::setAdClickAttributionDebugMode): Added.
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::setResourceLoadStatisticsDebugMode):
LayoutTests:
- inspector/page/overrideSetting-AdClickAttributionDebugModeEnabled.html: Added.
- inspector/page/overrideSetting-AdClickAttributionDebugModeEnabled-expected.txt: Added.
- inspector/page/overrideSetting-ITPDebugModeEnabled.html: Added.
- inspector/page/overrideSetting-ITPDebugModeEnabled-expected.txt: Added.
- TestExpectations:
- platform/wk2/TestExpectations:
- 12:49 PM Changeset in webkit [261102] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION: [ Mac WK1 ] inspector/console/console-api.html is flaky crashing
https://bugs.webkit.org/show_bug.cgi?id=211386
Reviewed by David Kilzer.
Add some temporary logging code to get data from Mojave bots related to this
NSScrollerImp crash.
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::dumpPaintersWithDelegates):
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
(WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
- 12:46 PM Changeset in webkit [261101] by
-
- 2 edits in trunk/Tools
[Catalina] ASSERTION FAILED: Unsafe to ref/deref from different threads seen with TestWebKitAPI.MultipleClientCertificateConnections.Failure
https://bugs.webkit.org/show_bug.cgi?id=211300
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-04
Reviewed by Youenn Fablet.
RequestData references are stored in blocks given to the network framework, which does things on background threads.
To make them safe to ref and deref on non-main threads, make RequestData ThreadSafeRefCounted.
- TestWebKitAPI/cocoa/HTTPServer.mm:
- 12:44 PM Changeset in webkit [261100] by
-
- 2 edits in trunk/Source/WebCore
Add additional null checks to MediaPlayerPrivateMediaSourceAVFObjC
https://bugs.webkit.org/show_bug.cgi?id=211134
<rdar://problem/62056577>
Reviewed by Daniel Bates.
Add additional null checks for a set m_mediaSourcePrivate to MediaPlayerPrivateMediaSourceAVFObjC. Most uses in this
class are already guarded, but a few were not, which could lead to a null pointer crash if encountered.
No new tests; no functional changes.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession):
- 12:28 PM Changeset in webkit [261099] by
-
- 3 edits1 add in trunk/Source/WebKit
[iOS] Unable to take RunningBoard process assertions in the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=211254
<rdar://problem/62674074>
Reviewed by Geoffrey Garen.
Add com.apple.runningboard.assertions.webkit entitlement to iOS Simulator builds so that
we can take RunningBoard assertions on those platforms too.
While doing this, I found that we were not adding the entitlements properly for simulator
builds. For simulator builds, entitlements go into an entitlements section of the binary,
rather than in the signature. Use CODE_SIGN_ENTITLEMENTS directive in xcconfig so that
XCode does the right thing for simulator builds.
- Configurations/BaseXPCService.xcconfig:
- Resources/ios/XPCService-embedded-simulator.entitlements: Added.
- Scripts/process-entitlements.sh:
- 12:18 PM Changeset in webkit [261098] by
-
- 5 edits in trunk/Source
Remove now-unneded HAVE(WINDOW_SERVER_OCCLUSION_NOTIFICATIONS)
https://bugs.webkit.org/show_bug.cgi?id=211380
Reviewed by Sam Weinig.
Source/WebKit:
- UIProcess/mac/WindowServerConnection.h: Don't check
HAVE(WINDOW_SERVER_OCCLUSION_NOTIFICATIONS) in this Mac-only header.
Also removed #pragma once in this header that is only included from .mm files.
- UIProcess/mac/WindowServerConnection.mm: Wrapped the whole file in
PLATFORM(MAC) because this is macOS-specific code that may be compiled on
iOS family platforms. Could wrap it in HAVE(WINDOW_SERVER) instead, but we
don't have anything like that and PageClientImplMac.mm, the client of this
code, uses PLATFORM(MAC).
(WebKit::registerOcclusionNotificationHandler): Ditto.
(WebKit::WindowServerConnection::WindowServerConnection): Ditto.
Source/WTF:
- wtf/PlatformHave.h: Don't define HAVE_WINDOW_SERVER_OCCLUSION_NOTIFICATIONS.
- 12:04 PM Changeset in webkit [261097] by
-
- 2 edits in trunk/Source/WTF
Remove unused USE(COREAUDIO)
https://bugs.webkit.org/show_bug.cgi?id=211384
Reviewed by Alex Christensen.
- wtf/PlatformUse.h: Don't define USE_COREAUDIO.
- 11:52 AM Changeset in webkit [261096] by
-
- 5 edits in trunk/Source
Remove now-unneeded HAVE(UI_REMOTE_VIEW)
https://bugs.webkit.org/show_bug.cgi?id=211382
Reviewed by Alex Christensen.
Source/WebKit:
- UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:
(WebKit::createRemoteView): Deleted.
(WebKit::RemoteLayerTreeHost::makeNode): After researching to be sure the method
is present in the relevant versions of iOS 13, changed this code to use the
initWithFrame:pid:contextID: method without doing a selector check, and also
without a HAVE(UI_REMOTE_VIEW) conditional.
- UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm: Removed the
HAVE(UI_REMOTE_VIEW) conditional.
Source/WTF:
- wtf/PlatformHave.h: Remove code to define HAVE_UI_REMOTE_VIEW.
- 11:47 AM Changeset in webkit [261095] by
-
- 4 edits in trunk/Source
Remove now-unneeded HAVE(MENU_CONTROLLER_SHOW_HIDE_API)
https://bugs.webkit.org/show_bug.cgi?id=211381
Reviewed by Alex Christensen.
Source/WebKit:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _handleDOMPasteRequestWithResult:]): Use hideMenuFromView: directly.
(-[WKContentView _requestDOMPasteAccessWithElementRect:originIdentifier:completionHandler:]):
Use showMenuFromView: directly.
(-[WKContentView showGlobalMenuControllerInRect:]): Deleted.
(-[WKContentView hideGlobalMenuController]): Deleted.
Source/WTF:
- wtf/PlatformHave.h: Remove code to set HAVE_MENU_CONTROLLER_SHOW_HIDE_API.
- 11:41 AM Changeset in webkit [261094] by
-
- 4 edits in trunk/Source
Remove now-unneeded HAVE(VOUCHERS)
https://bugs.webkit.org/show_bug.cgi?id=211379
Reviewed by Alex Christensen.
Source/WebKit:
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
(WebKit::XPCServiceInitializer): Remove HAVE(VOUCHERS) checks from this
Cocoa-only source file.
Source/WTF:
- wtf/PlatformHave.h: Remove definition of HAVE_VOUCHERS.
- 11:26 AM Changeset in webkit [261093] by
-
- 9 edits in trunk
Remove now-unneeded HAVE(MEDIA_PLAYER)
https://bugs.webkit.org/show_bug.cgi?id=211378
Reviewed by Alex Christensen.
Source/WebCore:
- platform/RemoteCommandListener.cpp: Remove uneeded check for HAVE(MEDIA_PLAYER)
in code that already checks for Cocoa platforms explicitly.
- platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring): Removed
check of HAVE(MEDIA_PLAYER) in a Cocoa-only source file.
- platform/ios/RemoteCommandListenerIOS.h: Ditto. Also removed #pragma once and
some other unnecessary things because this is only included in the .mm file below.
- platform/ios/RemoteCommandListenerIOS.mm: Ditto.
Source/WTF:
- wtf/PlatformHave.h: Remove code that sets HAVE_MEDIA_PLAYER.
Tools:
- TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST): Removed HAVE(MEDIA_PLAYER) check since it's now always
true in Objective-C source files.
- 11:24 AM Changeset in webkit [261092] by
-
- 4 edits in trunk
Remove unused HAVE(STRINGS_H)
https://bugs.webkit.org/show_bug.cgi?id=211377
Reviewed by Alex Christensen.
.:
- Source/cmake/OptionsCommon.cmake: Remove code to set HAVE_STRINGS_H.
Source/WTF:
- wtf/PlatformHave.h: Remove code to set HAVE_STRINGS_H.
- 11:18 AM Changeset in webkit [261091] by
-
- 5 edits in trunk
Source/WebCore:
WebGPU: Textures should be able to have OUTPUT_ATTACHMENT | SAMPLED usage flags
https://bugs.webkit.org/show_bug.cgi?id=211345
<rdar://problem/62264423>
Patch by Guillem Vinals <gvinals@apple.com> on 2020-05-04
Reviewed by Myles C. Maxfield.
Added support for off-screen render targets.
Test: webgpu/textures-textureviews.html
- platform/graphics/gpu/cocoa/GPUTextureMetal.mm:
(WebCore::mtlTextureUsageForGPUTextureUsageFlags):
LayoutTests:
WebGPU: Textures should be able to have OUTPUT_ATTACHEMENT | SAMPLED usage flags
https://bugs.webkit.org/show_bug.cgi?id=211345
Patch by Guillem Vinals <gvinals@apple.com> on 2020-05-04
Reviewed by Myles C. Maxfield.
- webgpu/textures-textureviews-expected.txt:
- webgpu/textures-textureviews.html:
- 11:00 AM Changeset in webkit [261090] by
-
- 2 edits in trunk/Source/WebKit
TestWebKitAPI.WebKit.CustomDisplayName is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=211299
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-04
Reviewed by Darin Adler.
The application name is being set on a background queue, but there's nothing actually keeping the NSString alive.
This may fix some timeouts we were seeing. I wonder why ASAN or guard malloc didn't catch this yet.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::updateProcessName):
- 11:00 AM Changeset in webkit [261089] by
-
- 4 edits2 adds in trunk
WebGPU: copyTextureToTexture() has an implementation bug (src copy view info is used also as dst)
https://bugs.webkit.org/show_bug.cgi?id=211303
Patch by Guillem Vinals <gvinals@apple.com> on 2020-05-04
Reviewed by Daniel Bates.
Source/WebCore:
The source copy information is also used as the destination copy information.
Test: webgpu/blit-commands-texture-to-texture.html
- platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm:
(WebCore::GPUCommandBuffer::copyTextureToTexture):
LayoutTests:
- webgpu/blit-commands-texture-to-texture-expected.html: Added.
- webgpu/blit-commands-texture-to-texture.html: Added.
- webgpu/js/webgpu-functions.js:
(drawGreenMipChainOnRedBackgroundInSoftware):
- 9:55 AM Changeset in webkit [261088] by
-
- 8 edits in trunk/Source
Remove no-longer-needed HAVE(UISCENE)
https://bugs.webkit.org/show_bug.cgi?id=211376
Reviewed by Chris Dumez.
Source/WebKit:
- Platform/spi/ios/UIKitSPI.h: Don't check HAVE(UISCENE) any more in this
iOS-family-only source file; it's always true.
- UIProcess/ApplicationStateTracker.h: Ditto.
- UIProcess/ApplicationStateTracker.mm:
(WebKit::ApplicationStateTracker::ApplicationStateTracker): Ditto.
(WebKit::ApplicationStateTracker::~ApplicationStateTracker): Ditto.
- UIProcess/ios/WKContentView.mm:
(-[WKContentView interfaceOrientation]): Ditto.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView textEffectsWindow]): Ditto.
Source/WTF:
- wtf/PlatformHave.h: Don't define HAVE_UISCENE any more.
It's always true for PLATFORM(IOS_FAMILY).
- 8:58 AM Changeset in webkit [261087] by
-
- 3 edits in trunk/Tools
[WPE][GTK] Should install python3-secretstorage
https://bugs.webkit.org/show_bug.cgi?id=207473
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-05-04
Reviewed by Adrian Perez de Castro.
If python3-secretstorage is not installed, webkit-patch will use a custom encrypted file
for password storage instead of utilizing the system keyring. This means unnecessary
password prompts to unlock the custom encrypted key storage.
There is no benefit to using custom key storage over the system keyring.
- gtk/install-dependencies:
- wpe/install-dependencies:
- 8:46 AM Changeset in webkit [261086] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening.
- fast/sandbox/ios/sandbox-mach-lookup-mail-expected.txt:
- 8:35 AM Changeset in webkit [261085] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening.
- fast/sandbox/ios/sandbox-mach-lookup-mail-expected.txt:
- 8:28 AM Changeset in webkit [261084] by
-
- 3 edits2 adds in trunk
Media controls tracks menu shows "Auto" selected instead of track selected via the JS API
https://bugs.webkit.org/show_bug.cgi?id=211230
<rdar://problem/62648409>
Patch by Antoine Quint <Antoine Quint> on 2020-05-04
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/modern-media-controls/tracks-support/tracks-support-text-track-selected-via-media-api.html
We're fixing two issues with the captions menu on macOS here.
First, if a text track was marked as "showing" with the JS API, we would not show it as selected in the UI
because MediaControlsHost would report that the captionDisplayMode was "automatic" and we'd take this as
sufficient data to say that the "Automatic (Recommended)" item should be shown as selected. We now only
do this if we also don't have any text tracks set as "showing".
The second issue was when trying to select "Automatic (Recommended)" when a text track had been marked as
"showing" with the JS API. CallingsetSelectedTextTrack()on MediaControlsHost in this case was not sufficient
because HTMLMediaElement::setSelectedTextTrack is a no-op if the automatic text track is provided but captionDisplayMode
is still set to "automatic". To address this, we first disable all text tracks before callingsetSelectedTextTrack().
- Modules/modern-media-controls/media/tracks-support.js:
(TracksSupport.prototype.tracksPanelIsTrackInSectionSelected):
(TracksSupport.prototype.tracksPanelSelectionDidChange):
LayoutTests:
Add a test that:
- sets an embedded text track as selected via the HTMLMediaElement TextTrack APIs,
- brings up the tracks panel,
- dumps its initial UI state, checking that the track selected via the API shows as selected in the UI,
- selects the "Automatic (Recommended)" track,
- brings up the tracks panel again,
- dumps its current UI state, checking that the "Automatic (Recommended)" shows as selected in the UI.
- media/modern-media-controls/tracks-support/tracks-support-text-track-selected-via-media-api-expected.txt: Added.
- media/modern-media-controls/tracks-support/tracks-support-text-track-selected-via-media-api.html: Added.
- 7:59 AM Changeset in webkit [261083] by
-
- 3 edits in trunk/Source/WebCore
[LFC][TFC] Override the table computed height when content needs more space
https://bugs.webkit.org/show_bug.cgi?id=211367
Reviewed by Antti Koivisto.
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):
- 7:53 AM Changeset in webkit [261082] by
-
- 2 edits in trunk/Source/WebCore
[LFC][TFC] Use distributeAvailableSpace for row sizing
https://bugs.webkit.org/show_bug.cgi?id=211366
Reviewed by Antti Koivisto.
Switch over to the generic space distribution for table row sizing.
- layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::RowSpan::hasSpan):
(WebCore::Layout::RowSpan::isSpanned):
(WebCore::Layout::RowSpan::spanCount):
(WebCore::Layout::RowSpan::startSpan):
(WebCore::Layout::RowSpan::endSpan):
(WebCore::Layout::RowSpan::index):
(WebCore::Layout::RowSpan::size):
(WebCore::Layout::RowSpan::spacing):
(WebCore::Layout::distributeAvailableSpace):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraVerticalSpace):
- 7:35 AM Changeset in webkit [261081] by
-
- 13 edits in trunk
Add WTR::AccessibilityUIElement::attributeValueAsync to retrieve attribute values in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=211341
Reviewed by Chris Fleizach.
Tools:
To simulate running WebAccessibilityObjectWrapper methods on the secondary
thread, WTR::AccessibilityUIElement dispatches those calls to the AX
thread. But some WebAccessibilityObjectWrapper calls cannot be fulfilled
on the secondary thread and in turn have to be dispatched to the main
thread. This was causing a thread lock during LayoutTests in isolated
tree mode since the initial dispatch to the secondary thread blocks the
main thread. The solution in this patch is to add an asynchronous
mechanism to retrieve attribute values.
- Added WTR::AccessibilityUIElement::attributeValueAsync.
- Made several fixes consisting of retaining variables in the main
thread whose values are computed on the secondary thread.
- WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::executeOnAXThreadAndWait):
(WTR::AccessibilityController::executeOnAXThread):
(WTR::AccessibilityController::executeOnMainThread):
(WTR::AXThread::dispatchBarrier):
(WTR::AccessibilityController::executeOnAXThreadIfPossible): Renamed executeOnAXThreadAndWait.
- WebKitTestRunner/InjectedBundle/AccessibilityController.h:
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
- WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
- WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
(WTR::webAccessibilityObjectWrapperClass):
(WTR::makeArrayRefForArray):
(WTR::makeObjectRefForDictionary):
(WTR::makeValueRefForValue):
(WTR::searchPredicateParameterizedAttributeForSearchCriteria):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::accessibleElementById):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler startObserving]):
(-[AccessibilityNotificationHandler _notificationReceived:]):
(webAccessibilityObjectWrapperClass): Moved to AccessibilityCommonMac.
(makeValueRefForValue): Moved to AccessibilityCommonMac.
(makeArrayRefForArray): Moved to AccessibilityCommonMac.
(makeObjectRefForDictionary): Moved to AccessibilityCommonMac.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::supportedAttributes):
(WTR::attributeValue):
(WTR::setAttributeValue):
(WTR::attributesOfElement):
(WTR::AccessibilityUIElement::getChildrenWithRange):
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::selectedChildrenCount const):
(WTR::AccessibilityUIElement::attributeValueAsync):
(WTR::AccessibilityUIElement::selectTextWithCriteria):
LayoutTests:
This test exercises the new WTR::AccessibilityUIElement::atributeValueAsync method.
Instead of using shouldBeTrue that does not work with local variables,
uses debug to log results.
- accessibility/mac/primary-screen-height-expected.txt:
- accessibility/mac/primary-screen-height.html:
- 7:13 AM Changeset in webkit [261080] by
-
- 2 edits in trunk/Source/WebCore
Camera video samples have a bad orientation if upside down
https://bugs.webkit.org/show_bug.cgi?id=211373
Reviewed by Eric Carlson.
Manually tested on iPad and iPhones.
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::computeSampleRotation):
-90 should be the same as 270 not -270.
- 1:57 AM Changeset in webkit [261079] by
-
- 3 edits in trunk/Tools
Unreviewed, reverting r261076.
https://bugs.webkit.org/show_bug.cgi?id=211371
Triggers obscure X11 error on GTK bots (Requested by philn on
#webkit).
Reverted changeset:
"[Flatpak SDK] Query the doc portal path with DBus"
https://bugs.webkit.org/show_bug.cgi?id=211281
https://trac.webkit.org/changeset/261076
- 1:31 AM Changeset in webkit [261078] by
-
- 3 edits in trunk/Tools
[Flatpak SDK] Support for local repository and drive-by fixes
https://bugs.webkit.org/show_bug.cgi?id=211370
Reviewed by Žan Doberšek.
This patch adds a new --repo option to webkit-flatpak, allowing
SDK developers to test local changes made to the SDK. As future
versions of the SDK will depend on the ffmpeg FDO extension,
flatpakutils installs it from now on. One consequence is that the
LD_LIBRARY_PATH set in the GTK layout test driver is no longer
overriden when running in the flatpak SDK, in order to allow the
extension to set it correctly.
- Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
- flatpak/flatpakutils.py:
(FlatpakRepos.add):
(FlatpakRepo.repo_file):
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.init):
(WebkitFlatpak.clean_args):
(WebkitFlatpak._reset_repository):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak._get_packages):
(run_in_sandbox_if_available):
- 1:27 AM Changeset in webkit [261077] by
-
- 4 edits in trunk/Source
Unreviewed, speculative build fix for r261071
https://bugs.webkit.org/show_bug.cgi?id=211274
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
- 1:23 AM Changeset in webkit [261076] by
-
- 3 edits in trunk/Tools
[Flatpak SDK] Query the doc portal path with DBus
https://bugs.webkit.org/show_bug.cgi?id=211281
Patch by Philippe Normand <pnormand@igalia.com> on 2020-05-04
Reviewed by Žan Doberšek.
- flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
- 12:28 AM Changeset in webkit [261075] by
-
- 3 edits in trunk/Source/WebCore
[gtk] isMainThread() assert when running minibrowser in debug builds.
https://bugs.webkit.org/show_bug.cgi?id=211355
Reviewed by Mark Lam.
Using NeverDestroyed<const AtomString> is discouraged if it is in the non main thread. This can be quite easily wrong:
if the running thread is one of WorkerPool, then this is wrong since AtomStringTable will be destroyed every time underlying
Thread is shutdown. If this is invoked by AutomaticThread, this is also wrong due to the same reason etc. This is why
we introduced MainThreadNeverDestroyed and use it for const AtomString. This restriction found the bug that we are using
NeverDestroyed<const AtomString>in non main thread. We should not do that.
This patch fixes the issue by introducing TextureMapperShaderProgram::Variable instead of using AtomString. Then this code
no longer has thread affinity.
- platform/graphics/texmap/TextureMapperShaderProgram.cpp:
(WebCore::TextureMapperShaderProgram::getLocation): Deleted.
- platform/graphics/texmap/TextureMapperShaderProgram.h:
- 12:16 AM Changeset in webkit [261074] by
-
- 18 edits in trunk
Put lh / rlh units behind a flag until bug 211351 is sorted out.
https://bugs.webkit.org/show_bug.cgi?id=211356
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-values/lh-rlh-on-root-001.html: Enable the flag in relevant tests.
- web-platform-tests/css/css-values/lh-unit-001.html:
- web-platform-tests/css/css-values/lh-unit-002.html:
Source/WebCore:
- css/parser/CSSParserToken.cpp: Use the new runtime flag to disable parsing the units.
(WebCore::cssPrimitiveValueUnitFromTrie):
- page/RuntimeEnabledFeatures.h: Define the new runtime flag.
(WebCore::RuntimeEnabledFeatures::setLineHeightUnitsEnabled):
(WebCore::RuntimeEnabledFeatures::lineHeightUnitsEnabled const):
Source/WebKit:
- Shared/WebPreferences.yaml: Define the runtime flag.
Source/WebKitLegacy/mac:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences lineHeightUnitsEnabled]):
(-[WebPreferences setLineHeightUnitsEnabled:]):
- WebView/WebView.mm:
Tools:
- DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
- DumpRenderTree/TestOptions.h:
- DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
- 12:13 AM Changeset in webkit [261073] by
-
- 2 edits in trunk/Source/WTF
Remove some unused and broken functions in Bitmap.
https://bugs.webkit.org/show_bug.cgi?id=211368
Reviewed by Yusuke Suzuki.
Bitmap::operator[] never worked. There's currently no way to use it to read a
bit value. We also can't use it to set a bit value because it relies on
Bitmap::iterator::operator= to set the value. However, Bitmap::iterator stores
the Bitmap* as a const pointer, and Bitmap::iterator::operator= calls set() on
the const pointer. If we try to use operator[] to set a bit, we'll get a
compilation error.
This patch removes the 2 variants of Bitmap::operator[] and Bitmap::iterator::operator=.
- wtf/Bitmap.h:
(WTF::WordType>::operator): Deleted.
(WTF::WordType>::operator const const): Deleted.
- 12:07 AM Changeset in webkit [261072] by
-
- 2 edits in trunk/Tools
[Flatpak SDK] Misc flatpakutils.py fixes
https://bugs.webkit.org/show_bug.cgi?id=211032
Reviewed by Philippe Normand.
Pass SSLKEYLOGFILE into sandbox which is useful for debugging with Wireshark.
Sanitize G_MESSAGES_DEBUG env var when checking output of flatpak command.
Fix check for --noninteractive support.
Fix python 3 exception when setting up icecc mixing strings and bytes.
- flatpak/flatpakutils.py:
(Console.warning_message):
(flatpak_check_output):
(check_flatpak):
(FlatpakObject.flatpak):
- flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
May 3, 2020:
- 9:14 PM Changeset in webkit [261071] by
-
- 4 edits in trunk/Source
Use LocalCurrentGraphicsContext in WebKit::convertPlatformImageToBitmap()
<https://webkit.org/b/211274>
Reviewed by Darin Adler.
Source/WebCore:
- platform/mac/LocalCurrentGraphicsContext.h:
(WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
(WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext):
- Export methods for use in WebKit.
Source/WebKit:
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::convertPlatformImageToBitmap):
- Use LocalCurrentGraphicsContext to replace code.
- 8:42 PM Changeset in webkit [261070] by
-
- 2 edits in trunk/Source/WebCore
Fix static analyzer false positive in -[WebUndefined undefined]
<https://webkit.org/b/211353>
Reviewed by Darin Adler.
- bridge/objc/WebScriptObject.mm:
(+[WebUndefined allocWithZone:]):
(-[WebUndefined initWithCoder:]):
(-[WebUndefined retain]):
(-[WebUndefined autorelease]):
- Update method signatures.
(+[WebUndefined undefined]):
- Fix clang static analyzer false positive by using idiomatic -alloc, -init calls to create object. These methods call -allocWithZone:, so this still uses the singleton pattern.
- 3:37 PM Changeset in webkit [261069] by
-
- 2 edits in trunk/Tools
Attempt to fix the iOS build after r261068
(https://bugs.webkit.org/show_bug.cgi?id=208281)
Wrap TEST()s in namespace TestWebKitAPI so as to not need to qualify IPhoneUserInterfaceSwizzler.
- TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm:
(TEST): Deleted.
- 3:14 PM Changeset in webkit [261068] by
-
- 2 edits in trunk/Tools
[iPad Simulator] TestWebKitAPI.UIWKInteractionViewProtocol.SelectPositionAtPointAfterBecomingFirstResponder is failing
https://bugs.webkit.org/show_bug.cgi?id=208281
<rdar://problem/59829265>
Reviewed by Wenson Hsieh.
I tried to write the test SelectPositionAtPointAfterBecomingFirstResponder for both iPad and iPhone,
but it turns out that I forgot an impl detail on how form control dismissal works for iPad and fixing
this would require adding more SPI/IPI. This is largely due to differences in form control UI and
conventions for dismissing such UI. This test isn't testing such UI it just needs to ensure that the
view is not first responder before it runs the actual test code. It uses an iPhone specific set of
steps to do this. It's enough to test this functionality on iPhone.
- TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm:
(TEST):
- 3:00 PM Changeset in webkit [261067] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove no longer needed WebKitAdditions include for JavaScriptCorePrefix.h
https://bugs.webkit.org/show_bug.cgi?id=211357
Reviewed by Mark Lam.
- JavaScriptCorePrefix.h:
- 2:42 PM Changeset in webkit [261066] by
-
- 2 edits in trunk/Source/WebKit
Use default initializers and default constructors in WebEvent.h
<https://webkit.org/b/211354>
Reviewed by Daniel Bates.
- Shared/WebEvent.h:
(WebKit::WebWheelEvent):
(WebKit::WebKeyboardEvent):
(WebKit::WebPlatformTouchPoint):
(WebKit::WebTouchEvent):
- Change empty constructors to use
default. - Use default initializers to make sure all fields are initialized.
- 1:53 PM Changeset in webkit [261065] by
-
- 6 edits4 copies2 moves2 adds in trunk
Sometimes cannot find <textarea> in list of editable elements
https://bugs.webkit.org/show_bug.cgi?id=211348
<rdar://problem/62231067>
Reviewed by Simon Fraser.
Source/WebCore:
When building the editable region add the bounds of the text control to the region instead
of the bounds of its inner text element even though it is the latter that is actually editable.
Using the bounds of the text control is more in line with a user's expectation for the editable
portion of a text control: the entire control. So, do that.
Tests: editing/editable-region/hit-test-textarea-empty-space.html
editing/editable-region/search-field-basic.html
editing/editable-region/text-field-basic.html
editing/editable-region/textarea-basic.html
- rendering/EventRegion.cpp:
(WebCore::EventRegionContext::unite):
(WebCore::EventRegion::unite):
Add a new bool as to whether to override the user-modify check and just assume that the region
is for something editable. This is needed because the form control (e.g. the <input> or <textarea>
aka the shadow host element) isn't actually editable itself. Its inner text element is editable.
RenderBlock::paintObject() will pass true for this override when event region painting such a
control and the control's inner text element is editable so that the controls bounds are added to
the editable region.
- rendering/EventRegion.h: Add a bool, defaulting to false to keep the current behavior. While
I am here remove some unneeded WEBCORE_EXPORT attributions.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject): Pass a value for the override argument. It will be true
if this block is actually a text control and its inner text element is editable. Otherwise, it
will be false. There is also no longer a need to descend into the children of a text control
because I only care to record the bounds of the control itself as editable, not its inner text
element.
LayoutTests:
Update some existing test results and add some more tests.
- editing/editable-region/hit-test-textarea-empty-space-expected.txt: Added.
- editing/editable-region/hit-test-textarea-empty-space.html: Added.
- editing/editable-region/overflow-scroll-text-field-and-contenteditable-expected.txt:
- editing/editable-region/search-field-basic-expected.txt: Copied from LayoutTests/editing/editable-region/input-basic-expected.txt.
- editing/editable-region/search-field-basic.html: Copied from LayoutTests/editing/editable-region/input-basic.html.
- editing/editable-region/text-field-basic-expected.txt: Copied from LayoutTests/editing/editable-region/input-basic-expected.txt.
- editing/editable-region/text-field-basic.html: Copied from LayoutTests/editing/editable-region/input-basic.html.
- editing/editable-region/textarea-basic-expected.txt: Renamed from LayoutTests/editing/editable-region/input-basic-expected.txt.
- editing/editable-region/textarea-basic.html: Renamed from LayoutTests/editing/editable-region/input-basic.html.
- 11:23 AM Changeset in webkit [261064] by
-
- 3 edits in trunk/Source/WebCore
[LFC][TFC] Turns horizontal space distribution into a generic space distribution
https://bugs.webkit.org/show_bug.cgi?id=211352
Reviewed by Antti Koivisto.
Horizontal(column) and vertical(row) space distributions use essentially the same logic to distribute
the extra space among the columns/rows.
This patch turns the horizontal space distribution function into a generic space distribution code so
that we can use it for row sizing as well.
- layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::ColumnSpan::hasSpan):
(WebCore::Layout::ColumnSpan::isSpanned):
(WebCore::Layout::ColumnSpan::spanCount):
(WebCore::Layout::ColumnSpan::startSpan):
(WebCore::Layout::ColumnSpan::endSpan):
(WebCore::Layout::ColumnSpan::index):
(WebCore::Layout::ColumnSpan::size):
(WebCore::Layout::ColumnSpan::spacing):
(WebCore::Layout::distributeAvailableSpace):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraHorizontalSpace):
- layout/tableformatting/TableGrid.h:
(WebCore::Layout::TableGrid::slot const):
- 11:16 AM Changeset in webkit [261063] by
-
- 7 edits in trunk/Source/WebCore
AudioMediaStreamTrackRendererCocoa should create/start/stop its remote unit on the main thread
https://bugs.webkit.org/show_bug.cgi?id=211287
Reviewed by Eric Carlson.
Creating/starting/stopping audio units in different threads is error prone.
Now that we have an observer model where we have observers for when to play in the main thread and
based on that, we decide to receive audio samples in a background thread, we can simplify the logic of AudioMediaStreamTrackRendererCocoa.
We do this by creating/starting the unit in AudioMediaStreamTrackRendererCocoa::start.
At that point, AudioMediaStreamTrackRendererCocoa is not expected to receive any sample.
Just after starting, AudioTrackPrivateMediaStream will receive audio samples and forward them to AudioMediaStreamTrackRendererCocoa.
AudioMediaStreamTrackRendererCocoa will then create in a background thread the AudioSampleDataSource that is responsible to adapt the received audio samples to the unit.
Manually tested.
- platform/audio/mac/AudioSampleDataSource.h:
(WebCore::AudioSampleDataSource::inputDescription const):
- platform/audio/mac/CAAudioStreamDescription.h:
- platform/mediastream/AudioTrackPrivateMediaStream.cpp:
(WebCore::AudioTrackPrivateMediaStream::startRenderer):
Ensure to start the unit and then start gettting audio samples.
- platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp:
(WebCore::AudioMediaStreamTrackRendererCocoa::start):
(WebCore::AudioMediaStreamTrackRendererCocoa::stop):
(WebCore::AudioMediaStreamTrackRendererCocoa::clear):
(WebCore::AudioMediaStreamTrackRendererCocoa::pushSamples):
(WebCore::AudioMediaStreamTrackRendererCocoa::render):
- platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.h:
- 8:59 AM Changeset in webkit [261062] by
-
- 4 edits in trunk/LayoutTests
Unreviewed test cleanup.
Remove some unused elements from these tests, and send a couple of mouseMoved
events to reduce the chances of flakiness.
- fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html:
- fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal-expected.txt:
- fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html:
- 2:53 AM Changeset in webkit [261061] by
-
- 11 edits in trunk
atob() should not accept a vertical tab
https://bugs.webkit.org/show_bug.cgi?id=184529
Patch by Rob Buis <rbuis@igalia.com> on 2020-05-03
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update improved test expectations.
- web-platform-tests/fetch/data-urls/base64.any-expected.txt:
- web-platform-tests/fetch/data-urls/base64.any.worker-expected.txt:
- web-platform-tests/fetch/data-urls/resources/base64.json: Add test for unicode whitespace.
- web-platform-tests/html/webappapis/atob/base64-expected.txt:
Source/WebCore:
The forgiving-base64 decode algorithm [1] uses [2] to strip
out ASCII whitespace which does not include vertical tabs, so
change the atob() implementation to not strip out vertical
tabs and thus to fail decode on vertical tabs.
[1] https://infra.spec.whatwg.org/#forgiving-base64-decode
[2] https://infra.spec.whatwg.org/#ascii-whitespace
Behavior matches Firefox and Chrome.
- page/Base64Utilities.cpp:
(WebCore::Base64Utilities::atob):
- platform/network/DataURLDecoder.cpp:
(WebCore::DataURLDecoder::decodeBase64):
Source/WTF:
Add an option to allow discarding of base64 decoding
when a vertical tab is encountered.
- wtf/text/Base64.cpp:
(WTF::base64DecodeInternal):
- wtf/text/Base64.h:
- 12:44 AM Changeset in webkit [261060] by
-
- 2 edits in trunk/Tools
Update info.
- Scripts/webkitpy/common/config/contributors.json: