Timeline
Jul 31, 2018:
- 11:47 PM Changeset in webkit [234454] by
-
- 12 edits in branches/safari-606-branch/Source
Cherry-pick r234447. rdar://problem/42802126
REGRESSION (r231107): MoviStar+ launches to a blank black screen
https://bugs.webkit.org/show_bug.cgi?id=188139
Reviewed by Brent Fulgham.
Source/WebCore:
For this app, revert behavior to how it was before r231107 with a linked-on-or-before check.
r231107 increased our fetch spec conformance, which we intend to keep. This makes a low-risk
targeted fix that will fix the affected app until they update.
I manually verified this fixes the app.
- loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
- platform/RuntimeApplicationChecks.h:
- platform/cocoa/RuntimeApplicationChecksCocoa.mm: (WebCore::applicationSDKVersionOverride): (WebCore::setApplicationSDKVersion): (WebCore::applicationSDKVersion): (WebCore::IOSApplication::isMoviStarPlus):
Source/WebKit:
Add infrastructure to check UIProcess SDK from the WebProcess and NetworkProcess for linked-on-or-after checks.
- NetworkProcess/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode const): (WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
- Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode const): (WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeWebProcess): (WebKit::WebProcessPool::platformInitializeNetworkProcess):
- WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:47 PM Changeset in webkit [234453] by
-
- 3 edits in branches/safari-606-branch/Source/WebCore
Cherry-pick r234432. rdar://problem/42802123
Don't call RenderTheme::platformColorsDidChange() during printing.
https://bugs.webkit.org/show_bug.cgi?id=188181
rdar://problem/42360070
Reviewed by Tim Horton.
- inspector/agents/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::setEmulatedMedia): Call m_page.updateStyleAfterChangeInEnvironment() instead of going to styleStope() and remove call to RenderTheme::platformColorsDidChange().
- page/FrameView.cpp: (WebCore::FrameView::adjustMediaTypeForPrinting): Remove call RenderTheme::platformColorsDidChange().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:47 PM Changeset in webkit [234452] by
-
- 2 edits in branches/safari-606-branch/Source/WebInspectorUI
Cherry-pick r234394. rdar://problem/42802129
Web Inspector: Dark Mode: Search sidebar panel text field has a white background
https://bugs.webkit.org/show_bug.cgi?id=188128
<rdar://problem/42678270>
Reviewed by Matt Baker.
Make the search bar in Search tab match the style of the filter bar.
- UserInterface/Views/DarkMode.css: (@media (prefers-dark-interface)): (:matches(.search-bar, .filter-bar) > input[type="search"],): (:matches(.search-bar, .filter-bar) > input[type="search"]::placeholder): (:matches(.search-bar, .filter-bar) > input[type="search"]:focus): (.filter-bar > input[type="search"]): Deleted. (.filter-bar > input[type="search"]::placeholder): Deleted. (.filter-bar > input[type="search"]:focus): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:44 PM Changeset in webkit [234451] by
-
- 7 edits in branches/safari-606-branch/Source
Versioning.
- 10:34 PM Changeset in webkit [234450] by
-
- 2 edits1 add1 delete in trunk/LayoutTests
[WinCairo] Unreviewed test gardening.
- platform/wincairo/TestExpectations:
- platform/wincairo/css2.1/20110323/replaced-intrinsic-ratio-001-expected.png: Added.
- platform/wincairo/css3/masking/clip-path-circle-margin-box-expected.txt: Removed.
- 10:21 PM Changeset in webkit [234449] by
-
- 3 edits in trunk/LayoutTests
Tidy up a layout test introduced in r234436.
https://bugs.webkit.org/show_bug.cgi?id=188107
<rdar://problem/42354250>
Reviewed by Daniel Bates.
The expected output of a test that uses js-test.js should include a description, plus a line that states that
there will be a series of PASS messages, PASS/FAIL output, a successfully parsed line and finally a TEST
COMPLETE line. This patch adjusts a newly introduced test to follow this convention.
- fast/forms/ios/click-should-not-suppress-misspelling-expected.txt:
- fast/forms/ios/click-should-not-suppress-misspelling.html:
- 10:11 PM Changeset in webkit [234448] by
-
- 4 edits in trunk
[WIN] Fix tests for text with initial advances
https://bugs.webkit.org/show_bug.cgi?id=188099
Reviewed by Darin Adler.
Fixup after r234318.
Tests: fast/text/complex-first-glyph-with-initial-advance.html
fast/text/initial-advance-in-intermediate-run-complex.html
- platform/graphics/ComplexTextController.cpp:
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::drawGlyphBuffer const):
- 8:57 PM Changeset in webkit [234447] by
-
- 12 edits in trunk/Source
REGRESSION (r231107): MoviStar+ launches to a blank black screen
https://bugs.webkit.org/show_bug.cgi?id=188139
Reviewed by Brent Fulgham.
Source/WebCore:
For this app, revert behavior to how it was before r231107 with a linked-on-or-before check.
r231107 increased our fetch spec conformance, which we intend to keep. This makes a low-risk
targeted fix that will fix the affected app until they update.
I manually verified this fixes the app.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
- platform/RuntimeApplicationChecks.h:
- platform/cocoa/RuntimeApplicationChecksCocoa.mm:
(WebCore::applicationSDKVersionOverride):
(WebCore::setApplicationSDKVersion):
(WebCore::applicationSDKVersion):
(WebCore::IOSApplication::isMoviStarPlus):
Source/WebKit:
Add infrastructure to check UIProcess SDK from the WebProcess and NetworkProcess for linked-on-or-after checks.
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 8:04 PM Changeset in webkit [234446] by
-
- 7 edits in branches/safari-606-branch/Source/WebCore
<rdar://problem/40844658> Crash in WebCore::EventTarget::dispatchEvent
Reviewed by Chris Dumez.
Like https://trac.webkit.org/r233496.
The null pointer crash was caused by some GenericEventQueue dispatching an event in a stopped document,
which does not have a valid script execution context because some uses of GenericEventQueue in media code
was not closing the queue upon stopping of all active DOM objects.
Fixed close GenericEventQueue when the script execution context is destoryed in WebKitMediaKeySession,
SourceBuffer, SourceBufferList, and TrackListBase.
No new tests since r233496 relied on a debug assertion for testing but we can't add the same assertion here
since we'll continue to enqueue events after the document had stopped but not yet destroyed.
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
(WebCore::WebKitMediaKeySession::stop):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::stop):
- Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList::contextDestroyed):
- Modules/mediasource/SourceBufferList.h:
- html/track/TrackListBase.cpp:
(TrackListBase::contextDestroyed):
- html/track/TrackListBase.h:
- 7:53 PM Changeset in webkit [234445] by
-
- 2 edits in trunk/Source/WebKit
Add configuration for automatic process pre-warming
https://bugs.webkit.org/show_bug.cgi?id=187108
Reviewed by Ryosuke Niwa.
Added the missing availability macros.
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- 7:29 PM Changeset in webkit [234444] by
-
- 2 edits in trunk/Source/WebCore
[Cocoa] Addressing post-review comments on r234158
https://bugs.webkit.org/show_bug.cgi?id=188202
Reviewed by Darin Adler.
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontCache::lastResortFallbackFont):
- 7:15 PM Changeset in webkit [234443] by
-
- 13 edits1 add in trunk
Add configuration for automatic process pre-warming
https://bugs.webkit.org/show_bug.cgi?id=187108
Patch by Ben Richards <benton_richards@apple.com> on 2018-07-31
Reviewed by Ryosuke Niwa.
Source/WebKit:
Added configurations to allow setting the maximum number of processes that should be automatically prewarmed.
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/C/WKContext.cpp:
(WKContextSetMaximumNumberOfPrewarmedProcesses):
- UIProcess/API/C/WKContextPrivate.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration setMaximumPrewarmedProcessCount:]):
(-[_WKProcessPoolConfiguration maximumPrewarmedProcessCount]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFinishLoadForFrame): Moved call to notifyProcessPoolToPrewarm from didFirstVisuallyNonEmptyLayoutForFrame to here.
This is to try to ensure that frame loading and prewarming don't happen at the same time as this would be heavy for some devices.
(WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::setMaximumNumberOfProcesses): Condition changed so that calling setMaximumNumberOfProcesses after warmInitialProcess
doesn't result in a crash.
(WebKit::WebProcessPool::setMaximumNumberOfPrewarmedProcesses):
(WebKit::WebProcessPool::warmInitialProcess):
(WebKit::WebProcessPool::didReachGoodTimeToPrewarm):
- UIProcess/WebProcessPool.h:
Tools:
Added new test case for setting maximum prewarmed process count and updated test case for process swap on navigation to set the maximum prewarmed process count to be 1 where relevant.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- TestWebKitAPI/Tests/WebKitCocoa/SetMaximumPrewarmedProcessCount.mm: Added.
(TEST):
- 6:40 PM Changeset in webkit [234442] by
-
- 6 edits2 adds in trunk/Source/WebKit
[WinCairo] <select> elements do not popup options
https://bugs.webkit.org/show_bug.cgi?id=188172
Reviewed by Fujii Hironori.
- PlatformWin.cmake: Add WebPopupMenuProxyWin
- Shared/PlatformPopupMenuData.cpp:
(WebKit::PlatformPopupMenuData::encode const): Encode
windows parameters
(WebKit::PlatformPopupMenuData::decode): Decode windows
parameters
- Shared/PlatformPopupMenuData.h: Add the windows specific
parameters (based on removed Windows implementation)
- UIProcess/win/PageClientImpl.cpp:
(WebKit::PageClientImpl::createPopupMenuProxy):
- UIProcess/win/WebPopupMenuProxyWin.cpp: Added. (based on
removed Windows implementation plus some fixes/api changes
since the removal)
(WebKit::isASCIIPrintable):
(WebKit::translatePoint):
(WebKit::WebPopupMenuProxyWin::WebPopupMenuProxyWndProc):
(WebKit::WebPopupMenuProxyWin::wndProc):
(WebKit::WebPopupMenuProxyWin::registerWindowClass):
(WebKit::WebPopupMenuProxyWin::WebPopupMenuProxyWin):
(WebKit::WebPopupMenuProxyWin::~WebPopupMenuProxyWin):
(WebKit::WebPopupMenuProxyWin::showPopupMenu):
(WebKit::WebPopupMenuProxyWin::hidePopupMenu):
(WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
(WebKit::WebPopupMenuProxyWin::clientRect const):
(WebKit::WebPopupMenuProxyWin::invalidateItem):
(WebKit::WebPopupMenuProxyWin::scrollSize const):
(WebKit::WebPopupMenuProxyWin::setScrollOffset):
(WebKit::WebPopupMenuProxyWin::visibleSize const):
(WebKit::WebPopupMenuProxyWin::contentsSize const):
(WebKit::WebPopupMenuProxyWin::scrollableAreaBoundingBox const):
(WebKit::WebPopupMenuProxyWin::scrollTo):
(WebKit::WebPopupMenuProxyWin::invalidateScrollbarRect):
(WebKit::WebPopupMenuProxyWin::onMouseActivate):
(WebKit::WebPopupMenuProxyWin::onSize):
(WebKit::WebPopupMenuProxyWin::onKeyDown):
(WebKit::WebPopupMenuProxyWin::onChar):
(WebKit::WebPopupMenuProxyWin::onMouseMove):
(WebKit::WebPopupMenuProxyWin::onLButtonDown):
(WebKit::WebPopupMenuProxyWin::onLButtonUp):
(WebKit::WebPopupMenuProxyWin::onMouseWheel):
(WebKit::WebPopupMenuProxyWin::onPaint):
(WebKit::WebPopupMenuProxyWin::onPrintClient):
(WebKit::WebPopupMenuProxyWin::down):
(WebKit::WebPopupMenuProxyWin::up):
(WebKit::WebPopupMenuProxyWin::paint):
(WebKit::WebPopupMenuProxyWin::setFocusedIndex):
(WebKit::WebPopupMenuProxyWin::visibleItems const):
(WebKit::WebPopupMenuProxyWin::listIndexAtPoint const):
(WebKit::WebPopupMenuProxyWin::focusedIndex const):
(WebKit::WebPopupMenuProxyWin::focusFirst):
(WebKit::WebPopupMenuProxyWin::focusLast):
(WebKit::WebPopupMenuProxyWin::incrementWheelDelta):
(WebKit::WebPopupMenuProxyWin::reduceWheelDelta):
(WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
- UIProcess/win/WebPopupMenuProxyWin.h: Added. (based on
removed Windows implementation plus some fixes/api changes
since then)
(WebKit::WebPopupMenuProxyWin::create):
(WebKit::WebPopupMenuProxyWin::hide):
(WebKit::WebPopupMenuProxyWin::scrollbar const):
(WebKit::WebPopupMenuProxyWin::itemHeight const):
(WebKit::WebPopupMenuProxyWin::windowRect const):
(WebKit::WebPopupMenuProxyWin::wheelDelta const):
(WebKit::WebPopupMenuProxyWin::setWasClicked):
(WebKit::WebPopupMenuProxyWin::wasClicked const):
(WebKit::WebPopupMenuProxyWin::scrollbarCapturingMouse const):
(WebKit::WebPopupMenuProxyWin::setScrollbarCapturingMouse):
- WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
(WebKit::WebPopupMenu::setUpPlatformData): Make the data to
pass between processes.
- 5:38 PM Changeset in webkit [234441] by
-
- 2 edits in trunk/LayoutTests
Layout Test svg/animations/smil-leak-element-instances-noBaseValRef.svg is flaky
https://bugs.webkit.org/show_bug.cgi?id=180997
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations: Remove flaky expectation.
- 4:23 PM Changeset in webkit [234440] by
-
- 102 edits19 moves5 adds13 deletes in trunk
Resource Load Statistics: Remove partitioned cookies for reduced complexity, lower memory footprint, and ability to support more platforms
https://bugs.webkit.org/show_bug.cgi?id=188109
<rdar://problem/42664391>
Reviewed by Brent Fulgham, Chris Dumez, and Alex Christensen.
Source/WebCore:
Tests: http/tests/resourceLoadStatistics/cookie-deletion.html
http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction.html
http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction.html
http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-pop-window.html
http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe.html
http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame.html
http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame.html
http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction.html
http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction.html
http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe.html
http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe.html
This patch removes cookie partitioning which reduces the model to just
blocked cookies (in third-party contexts) and first-party cookie access.
Several of the changes are renaming to reflect that there are no more
cookie partitions. However, the compile-time check remains for now since
this change is not ready to ship.
The test cases mentioned about are not new. They are just renamed to
reflect the code changes and to shorten their names (as requested by
non-Cocoa platforms).
- loader/ResourceLoadStatistics.cpp:
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::ResourceLoadStatistics::merge):
Removed the use of isMarkedForCookiePartitioning.
- loader/ResourceLoadStatistics.h:
Removed isMarkedForCookiePartitioning.
- platform/network/NetworkStorageSession.h:
- platform/network/ResourceHandle.h:
Renamed applySniffingPoliciesAndStoragePartitionIfNeeded() to
applySniffingPoliciesIfNeeded().
- platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::getPartitioningDomain):
(WebCore::NetworkStorageSession::shouldBlockCookies const):
Now takes a frame ID and a page ID to be able to support
the Storage Access API. This was previously handled by
shouldPartitionCookies() which is now deleted.
(WebCore::NetworkStorageSession::setPrevalentDomainsToBlockCookiesFor):
Renamed from setPrevalentDomainsToPartitionOrBlockCookies().
(WebCore::NetworkStorageSession::removePrevalentDomains):
No longer needs to clear the member variable for partitioned cookie domains.
(WebCore::NetworkStorageSession::setCookieStoragePartitioningEnabled): Deleted.
(WebCore::NetworkStorageSession::cookieStoragePartition const): Deleted.
(WebCore::NetworkStorageSession::shouldPartitionCookies const): Deleted.
(WebCore::NetworkStorageSession::setPrevalentDomainsToPartitionOrBlockCookies): Deleted.
Renamed to setPrevalentDomainsToBlockCookiesFor().
- platform/network/mac/CookieJarMac.mm:
(WebCore::cookiesForURL):
Now calls session.shouldBlockCookies() instead of the
wrapper cookiesAreBlockedForURL().
(WebCore::setCookiesFromDOM):
No longer checks for partition.
(WebCore::applyPartitionToCookies): Deleted.
(WebCore::cookiesAreBlockedForURL): Deleted.
This was just a wrapper for session.shouldBlockCookies().
(WebCore::cookiesInPartitionForURL): Deleted.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::applySniffingPoliciesIfNeeded):
Renamed from applySniffingPoliciesAndStoragePartitionIfNeeded().
(WebCore::ResourceHandle::createNSURLConnection):
Consequence of function name change.
(WebCore::ResourceHandle::applySniffingPoliciesAndStoragePartitionIfNeeded): Deleted.
Renamed to applySniffingPoliciesIfNeeded().
Source/WebKit:
This patch removes cookie partitioning which reduces the model to just
blocked cookies (in third-party contexts) and first-party cookie access.
Several of the changes are renaming to reflect that there are no more
cookie partitions. However, the compile-time check remains for now since
this change is not ready to ship.
The API changes are mostly in C APIs used for layout tests. The slight
change in Cocoa API is that there no longer is a functionality to
"enable" cookie partitioning. The boolean member is still there but it
no longer does anything.
The functional changes are in WebKit::ResourceLoadStatisticsMemoryStore
and WebKit::NetworkDataTaskCocoa where cookie partitioning used to be
managed and applied respectively. The IPC communication has changed to
reflect this.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::updatePrevalentDomainsToBlockCookiesFor):
Name change from updatePrevalentDomainsToPartitionOrBlockCookies().
No longer supports the partitioned category.
(WebKit::NetworkProcess::removeAllStorageAccess):
Now supports a completion handler. This change was made to address
flakiness that came after layout test changes that were needed because
of the removal of partitioned cookies.
(WebKit::NetworkProcess::updatePrevalentDomainsToPartitionOrBlockCookies): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
Partitioning removed from message name.
RemoveAllStorageAccess message now supports a completion handler
as explained above
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
Removed parameter cookieStoragePartitioningEnabled.
(WebKit::NetworkProcessCreationParameters::decode):
Removed parameter cookieStoragePartitioningEnabled.
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::logCookieInformation):
No longer takes partitioning into account.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
Now only applies cookie blocking.
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
Now only applies cookie blocking.
(WebKit::NetworkDataTaskCocoa::applyCookiePartitioningPolicy): Deleted.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
Removed the call to setCookieStoragePartitioningEnabled().
(WebKit::NetworkProcess::setCookieStoragePartitioningEnabled): Deleted.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
WebCore::NetworkStorageSession::shouldBlockCookies() now takes a
frame ID and page ID to resolve cookie access with the Storage
Access API. This was previously handled by
WebCore::NetworkStorageSession::cookieStoragePartition().
- UIProcess/API/C/WKCookieManager.cpp:
(WKCookieManagerSetCookieStoragePartitioningEnabled): Deleted.
- UIProcess/API/C/WKCookieManager.h:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreStatisticsUpdateCookieBlocking):
(WKWebsiteDataStoreSetStatisticsHasHadNonRecentUserInteraction): Deleted.
There is no longer a difference between recent and non-recent
user interaction so this test function was removed.
(WKWebsiteDataStoreSetStatisticsTimeToLiveCookiePartitionFree): Deleted.
(WKWebsiteDataStoreStatisticsUpdateCookiePartitioning): Deleted.
(WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHost): Deleted.
Deleted because partitioning is no longer a thing.
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
Deprecated _isCookieStoragePartitioningEnabled() and
_setCookieStoragePartitioningEnabled() via WK_API_DEPRECATED.
- UIProcess/Cocoa/ResourceLoadStatisticsMemoryStoreCocoa.mm:
(WebKit::ResourceLoadStatisticsMemoryStore::registerUserDefaultsIfNeeded):
Removed support for ResourceLoadStatisticsTimeToLiveCookiePartitionFree.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
No longer sets a parameter based on cookieStoragePartitioningEnabled().
(WebKit::WebProcessPool::setCookieStoragePartitioningEnabled):
Added a FIXME comment that this setter no longer does anything meaningful.
Removed the IPC call to the network process to propagate the setting.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::clearCallbackStates):
Name change from m_updatePartitionOrBlockCookiesCallbackMap to
m_updateBlockCookiesCallbackMap.
(WebKit::NetworkProcessProxy::updatePrevalentDomainsToBlockCookiesFor):
Name change plus it now just takes one vector of strings named domainsToBlock.
(WebKit::NetworkProcessProxy::didUpdateBlockCookies):
Name change from didUpdatePartitionOrBlockCookies().
(WebKit::NetworkProcessProxy::storageAccessRequestResult):
Just moved to its right place.
(WebKit::NetworkProcessProxy::removeAllStorageAccess):
Now take a completion handler.
(WebKit::NetworkProcessProxy::didRemoveAllStorageAccess):
To call the completion handler.
(WebKit::NetworkProcessProxy::updatePrevalentDomainsToPartitionOrBlockCookies): Deleted.
Name change.
(WebKit::NetworkProcessProxy::didUpdatePartitionOrBlockCookies): Deleted.
Name change.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
Name change and added completion handler message for removeAllStorageAccess().
- UIProcess/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccessUnderOpener):
(WebKit::ResourceLoadStatisticsMemoryStore::scheduleStatisticsProcessingRequestIfNecessary):
(WebKit::ResourceLoadStatisticsMemoryStore::logUserInteraction):
(WebKit::ResourceLoadStatisticsMemoryStore::mergeWithDataFromDecoder):
(WebKit::ResourceLoadStatisticsMemoryStore::clear):
(WebKit::ResourceLoadStatisticsMemoryStore::wasAccessedAsFirstPartyDueToUserInteraction const):
(WebKit::ResourceLoadStatisticsMemoryStore::shouldBlockAndKeepCookies):
(WebKit::ResourceLoadStatisticsMemoryStore::shouldBlockAndPurgeCookies):
(WebKit::ResourceLoadStatisticsMemoryStore::updateCookieBlocking):
(WebKit::ResourceLoadStatisticsMemoryStore::updateCookieBlockingForDomains):
(WebKit::ResourceLoadStatisticsMemoryStore::clearBlockingStateForDomains):
(WebKit::ResourceLoadStatisticsMemoryStore::resetCookieBlockingState):
(WebKit::ResourceLoadStatisticsMemoryStore::removeAllStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::logNonRecentUserInteraction): Deleted.
There is no longer a difference between recent and non-recent
user interaction so this test function was removed.
(WebKit::ResourceLoadStatisticsMemoryStore::setTimeToLiveCookiePartitionFree): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::shouldPartitionCookies): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::shouldBlockCookies): Deleted.
Now split into shouldBlockAndKeepCookies() and shouldBlockAndPurgeCookies().
(WebKit::ResourceLoadStatisticsMemoryStore::updateCookiePartitioning): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::updateCookiePartitioningForDomains): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::clearPartitioningStateForDomains): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::resetCookiePartitioningState): Deleted.
- UIProcess/ResourceLoadStatisticsMemoryStore.h:
- UIProcess/ResourceLoadStatisticsPersistentStorage.cpp:
(WebKit::ResourceLoadStatisticsPersistentStorage::startMonitoringDisk):
Added an empty completion handler to the m_memoryStore.clear() call.
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::setCookieStoragePartitioningEnabled): Deleted.
- UIProcess/WebCookieManagerProxy.h:
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
(WebKit::WebResourceLoadStatisticsStore::removeAllStorageAccess):
Now has a completion handler.
(WebKit::WebResourceLoadStatisticsStore::scheduleCookieBlockingUpdate):
(WebKit::WebResourceLoadStatisticsStore::scheduleCookieBlockingUpdateForDomains):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearBlockingStateForDomains):
(WebKit::WebResourceLoadStatisticsStore::scheduleCookieBlockingStateReset):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemory):
Now supports a completion handler for removeAllStorageAccess().
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebResourceLoadStatisticsStore::callUpdatePrevalentDomainsToBlockCookiesForHandler):
(WebKit::WebResourceLoadStatisticsStore::logNonRecentUserInteraction): Deleted.
There is no longer a difference between recent and non-recent
user interaction so this test function was removed.
(WebKit::WebResourceLoadStatisticsStore::scheduleCookiePartitioningUpdate): Deleted.
Renamed to scheduleCookieBlockingUpdate().
(WebKit::WebResourceLoadStatisticsStore::scheduleCookiePartitioningUpdateForDomains): Deleted.
Renamed to scheduleCookieBlockingUpdateForDomains().
(WebKit::WebResourceLoadStatisticsStore::scheduleClearPartitioningStateForDomains): Deleted.
Renamed to scheduleClearBlockingStateForDomains().
(WebKit::WebResourceLoadStatisticsStore::scheduleCookiePartitioningStateReset): Deleted.
Renamed to scheduleCookieBlockingStateReset().
(WebKit::WebResourceLoadStatisticsStore::setTimeToLiveCookiePartitionFree): Deleted.
(WebKit::WebResourceLoadStatisticsStore::callUpdatePrevalentDomainsToPartitionOrBlockCookiesHandler): Deleted.
Renamed callUpdatePrevalentDomainsToBlockCookiesForHandler().
- UIProcess/WebResourceLoadStatisticsStore.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::updatePrevalentDomainsToBlockCookiesFor):
(WebKit::WebsiteDataStore::removeAllStorageAccessHandler):
Now supports a completion handler for removeAllStorageAccess().
(WebKit::WebsiteDataStore::networkProcessDidCrash):
Name change in function called to get rid of "partitioning."
(WebKit::WebsiteDataStore::updatePrevalentDomainsToPartitionOrBlockCookies): Deleted.
Renamed updatePrevalentDomainsToBlockCookiesFor().
- UIProcess/WebsiteData/WebsiteDataStore.h:
Tools:
This patch removes cookie partitioning which reduces the model to just
blocked cookies (in third-party contexts) and first-party cookie access.
Several of the changes are renaming to reflect that there are no more
cookie partitions.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
Removed or renamed functions to reflect that there are no more
partitioned cookies.
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsUpdateCookieBlocking):
(WTR::TestRunner::statisticsCallDidSetBlockCookiesForHostCallback):
(WTR::TestRunner::setCookieStoragePartitioningEnabled): Deleted.
(WTR::TestRunner::setStatisticsHasHadNonRecentUserInteraction): Deleted.
(WTR::TestRunner::setStatisticsTimeToLiveCookiePartitionFree): Deleted.
(WTR::TestRunner::statisticsUpdateCookiePartitioning): Deleted.
(WTR::TestRunner::statisticsSetShouldPartitionCookiesForHost): Deleted.
(WTR::TestRunner::statisticsCallDidSetPartitionOrBlockCookiesForHostCallback): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::statisticsUpdateCookieBlocking):
(WTR::TestController::setStatisticsHasHadNonRecentUserInteraction): Deleted.
(WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree): Deleted.
(WTR::TestController::statisticsUpdateCookiePartitioning): Deleted.
(WTR::TestController::statisticsSetShouldPartitionCookiesForHost): Deleted.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::didSetBlockCookiesForHost):
(WTR::TestInvocation::didSetHasHadUserInteraction):
(WTR::TestInvocation::didSetPartitionOrBlockCookiesForHost): Deleted.
(WTR::TestInvocation::didSetHasHadNonRecentUserInteraction): Deleted.
- WebKitTestRunner/TestInvocation.h:
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
LayoutTests:
This patch removes cookie partitioning which reduces the model to just
blocked cookies (in third-party contexts) and first-party cookie access.
Several of the changes are renaming to reflect that there are no more
cookie partitions.
The changes to the Storage Access API tests also involve fixes for potential
flakiness by adopting several completion handlers in test functions.
- http/tests/resourceLoadStatistics/add-blocking-to-redirect.html:
- http/tests/resourceLoadStatistics/add-partitioning-to-redirect-expected.txt: Removed.
- http/tests/resourceLoadStatistics/add-partitioning-to-redirect.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion.html:
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent.html:
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion.html:
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent.html:
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to.html:
- http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics.html:
- http/tests/resourceLoadStatistics/cookie-deletion-expected.txt: Renamed from LayoutTests/http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion-expected.txt.
- http/tests/resourceLoadStatistics/cookie-deletion.html: Renamed from LayoutTests/http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html.
- http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction-expected.txt: Added.
- http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction.html: Renamed from LayoutTests/http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html.
- http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect.html:
- http/tests/resourceLoadStatistics/enable-debug-mode.html:
- http/tests/resourceLoadStatistics/grandfathering.html:
- http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html:
- http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html:
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-expected.txt:
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html:
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
- http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt: Removed.
- http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html: Removed.
- http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-blocking-in-redirect-expected.txt:
- http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html:
- http/tests/resourceLoadStatistics/remove-partitioning-in-redirect-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-partitioning-in-redirect.html: Removed.
- http/tests/resourceLoadStatistics/resources/get-cookies.php:
- http/tests/resourceLoadStatistics/resources/set-cookie-on-redirect.php: Added.
- http/tests/resourceLoadStatistics/resources/util.js: Added.
(setEnableFeature):
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
- http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode.html:
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects.html:
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests.html:
- http/tests/resourceLoadStatistics/telemetry-generation.html:
- http/tests/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction-expected.txt: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html: Removed.
- http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html:
- http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html:
- http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal.html:
- http/tests/storageAccess/deny-storage-access-under-opener.html:
- http/tests/storageAccess/grant-storage-access-under-opener-expected.txt:
- http/tests/storageAccess/grant-storage-access-under-opener.html:
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-non-recent-user-interaction-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-non-recent-user-interaction.html: Removed.
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-recent-user-interaction.html: Removed.
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-recent-user-interaction-expected.txt.
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction.html: Added.
- http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-pop-window-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe-pop-window-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-pop-window.html: Added.
- http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe.html.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame.html.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-but-try-access-from-wrong-frame-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-but-try-access-from-wrong-frame.html.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-recent-user-interaction-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-recent-user-interaction.html.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction.html.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe.html.
- http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-expected.txt:
- http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html:
- http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access.html:
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe-pop-window.html: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html:
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html:
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture.html:
- http/tests/storageAccess/request-storage-access-same-origin-iframe.html:
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html:
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe.html:
- http/tests/storageAccess/request-storage-access-top-frame.html:
- http/tests/storageAccess/resources/nesting-iframe.html:
- platform/ios/TestExpectations:
Test case renaming.
webkit.org/b/183216 removed since it's resolved.
- platform/mac-wk2/TestExpectations:
Test case renaming.
- platform/wk2/TestExpectations:
Test case renaming.
- 1:37 PM Changeset in webkit [234439] by
-
- 2 edits in trunk/Tools
Build fix. Remove unused variable.
- TestWebKitAPI/Tests/WebCore/TransformationMatrix.cpp:
(TestWebKitAPI::TEST):
transform was never used. It was introduced in r205871
Apparently I'm the first one to build in a certain configuration that found it.
- 1:24 PM Changeset in webkit [234438] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed 32-bit build fix...
- dfg/DFGSpeculativeJIT32_64.cpp:
- 1:21 PM Changeset in webkit [234437] by
-
- 4 edits in trunk/Source/JavaScriptCore
Long compiling JSC files should not be unified
https://bugs.webkit.org/show_bug.cgi?id=188205
Reviewed by Saam Barati.
The DFGSpeculativeJIT and FTLLowerDFGToB3 files take a long time
to compile. Unifying them means touching anything in the same
bundle as those files takes a long time to incrementally build.
This patch separates those files so they build standalone.
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- dfg/DFGSpeculativeJIT64.cpp:
- 1:19 PM Changeset in webkit [234436] by
-
- 3 edits2 adds in trunk
[iOS] Spelling suggestions cannot be selected in focused form controls when zoomed in
https://bugs.webkit.org/show_bug.cgi?id=188107
<rdar://problem/42354250>
Reviewed by Tim Horton.
Source/WebCore:
After r232040, the synthetic click gesture recognizer was enabled when tapping inside of the focused element,
which allows the page to handle click events inside editable content. However, this means that codepaths in
EventHandler that are responsible for changing selection due to default click event behaviors on macOS are now
active on iOS; this conflicts with selection changes due to text interaction gestures, which are the existing
mechanism for modifying the selection on iOS.
To address this, we defer selection changes when clicking to text interaction gestures on iOS by tweaking the
default behavior of a click on iOS to /not/ change selection when moving within the same editable root. This is
similar to r233311, but in a different codepath that specifically handles selection changes when clicking on
content that is already selected.
Test: fast/forms/ios/click-should-not-suppress-misspelling.html
- page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseReleaseEvent):
LayoutTests:
Adds a new test to verify that tapping in a misspelled word to bring up the spelling correction callout and
selection view does not immediately cause the selection to dismiss.
- fast/forms/ios/click-should-not-suppress-misspelling-expected.txt: Added.
- fast/forms/ios/click-should-not-suppress-misspelling.html: Added.
- 12:30 PM Changeset in webkit [234435] by
-
- 1 edit1 delete in trunk/LayoutTests
Need a short description (OOPS!).
Need the bug URL (OOPS!).
Reviewed by NOBODY (OOPS!).
- platform/mac-yosemite: Removed.
- 11:48 AM Changeset in webkit [234434] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Remove unnecessary cellLock() in JSObject's GC marking if IndexingType is contiguous
https://bugs.webkit.org/show_bug.cgi?id=188201
Reviewed by Keith Miller.
We do not reuse the existing butterfly with Contiguous shape for new ArrayStorage butterfly.
When converting the butterfly with Contiguous shape to ArrayStorage, we always allocate a
new one. So this cellLock() is unnecessary for contiguous shape since contigous shaped butterfly
never becomes broken state. This patch removes unnecessary locking.
- runtime/JSObject.cpp:
(JSC::JSObject::visitButterflyImpl):
- 11:37 AM Changeset in webkit [234433] by
-
- 3 edits in trunk/Source/WebCore
Clean up TransformationMatrix implementation
https://bugs.webkit.org/show_bug.cgi?id=188197
Reviewed by Simon Fraser.
We perform cleaning up of TransformationMatrix.
- We drop user-defined operator= and copy constructor. Default ones works well for TransformationMatrix.
- Remove unused setMatrix. We explicitly use memcpy in TransformationMatrix.cpp (only one place).
- Use memcmp for implementing operator==.
In (2) and (3), we use
memcpy(&matrix[0][0], &tmp[0][0], sizeof(Matrix4))
instead ofmemcpy(matrix, tmp, sizeof(Matrix4))
,
since they both are non nullptr and the former is easier to understand.
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::multiply):
- platform/graphics/transforms/TransformationMatrix.h:
(WebCore::TransformationMatrix::setMatrix):
(WebCore::TransformationMatrix::operator== const):
(WebCore::TransformationMatrix::operator =): Deleted.
- 11:23 AM Changeset in webkit [234432] by
-
- 3 edits in trunk/Source/WebCore
Don't call RenderTheme::platformColorsDidChange() during printing.
https://bugs.webkit.org/show_bug.cgi?id=188181
rdar://problem/42360070
Reviewed by Tim Horton.
- inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::setEmulatedMedia): Call m_page.updateStyleAfterChangeInEnvironment()
instead of going to styleStope() and remove call to RenderTheme::platformColorsDidChange().
- page/FrameView.cpp:
(WebCore::FrameView::adjustMediaTypeForPrinting): Remove call RenderTheme::platformColorsDidChange().
- 11:23 AM Changeset in webkit [234431] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Include a full URL tooltip when hovering the name in the Network Tab
https://bugs.webkit.org/show_bug.cgi?id=188199
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-07-31
Reviewed by Matt Baker.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._populateNameCell):
Give a tooltip to the entire cell since the entire cell has interactivity.
- 11:07 AM Changeset in webkit [234430] by
-
- 2 edits in trunk/Tools
server_process.py should print returncode in debug log if the process crashed
https://bugs.webkit.org/show_bug.cgi?id=188160
Reviewed by Konstantin Tokarev.
- Scripts/webkitpy/port/server_process.py:
(ServerProcess.has_crashed): Put self._proc.returncode into the debug log message.
- 10:52 AM Changeset in webkit [234429] by
-
- 2 edits in branches/safari-606-branch/LayoutTests
Cherry-pick r234428. rdar://problem/42387347
Layout Test media/video-add-autoplay-user-gesture.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=174591
Reviewed by Darin Adler.
Remove the 1000ms restriction for this test to complete in order to eliminate flakiness.
- media/video-add-autoplay-user-gesture.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@234428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:52 AM Changeset in webkit [234428] by
-
- 2 edits in trunk/LayoutTests
Layout Test media/video-add-autoplay-user-gesture.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=174591
Reviewed by Darin Adler.
Remove the 1000ms restriction for this test to complete in order to eliminate flakiness.
- media/video-add-autoplay-user-gesture.html:
- 9:31 AM Changeset in webkit [234427] by
-
- 3 edits in trunk/Source/WebCore
Use static const global variable for TransformationMatrix instead of NeverDestroyed
https://bugs.webkit.org/show_bug.cgi?id=188195
Reviewed by Darin Adler.
Since TransformationMatrix does not have a non-trivial destructor, we can put it
as static const global variable if its constructor is constexpr. This patch makes
some of constructors constexpr and makes identityTransform static const global variable
instead of NeverDestroyed<> + static function. This removes unnecessary static function
and lazy initialization.
No behavior change.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::transform const):
(WebCore::GraphicsLayer::childrenTransform const):
(WebCore::identityTransform): Deleted.
- platform/graphics/transforms/TransformationMatrix.h:
(WebCore::TransformationMatrix::TransformationMatrix):
- 8:57 AM Changeset in webkit [234426] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC] Remove gcc warnings for 32-bit platforms
https://bugs.webkit.org/show_bug.cgi?id=187803
Reviewed by Yusuke Suzuki.
- assembler/MacroAssemblerPrinter.cpp:
(JSC::Printer::printPCRegister):
(JSC::Printer::printRegisterID):
(JSC::Printer::printAddress):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateNumber):
(JSC::DFG::SpeculativeJIT::speculateMisc):
- jit/CCallHelpers.h:
(JSC::CCallHelpers::calculatePokeOffset):
- runtime/Options.cpp:
(JSC::parse):
- 8:29 AM Changeset in webkit [234425] by
-
- 2 edits1 copy in branches/safari-606-branch/LayoutTests
Cherry-pick r234379. rdar://problem/42387347
Rebaseline fast/forms/file/input-file-re-render.html for Mojave.
Unreviewed test gardening.
- platform/mac-highsierra/fast/forms/file/input-file-re-render-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/file/input-file-re-render-expected.txt.
- platform/mac/fast/forms/file/input-file-re-render-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@234379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:29 AM Changeset in webkit [234424] by
-
- 2 edits in branches/safari-606-branch/LayoutTests
Cherry-pick r234378. rdar://problem/42387347
Update TestExpectations for mac-wk1.
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@234378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:02 AM Changeset in webkit [234423] by
-
- 8 edits in trunk/Source/WebCore
[LFC][Floating] Add basic left/right floating positioning.
https://bugs.webkit.org/show_bug.cgi?id=188148
Reviewed by Antti Koivisto.
This patch implements simple floating positioning.
(Floatings with different containing blocks do not work yet.)
- layout/FloatingContext.cpp:
(WebCore::Layout::FloatingPair::isEmpty const):
(WebCore::Layout::Iterator::current const):
(WebCore::Layout::Iterator::verticalPosition const):
(WebCore::Layout::FloatingContext::FloatingContext):
(WebCore::Layout::FloatingContext::computePosition const):
(WebCore::Layout::FloatingContext::floatingPosition const):
(WebCore::Layout::FloatingContext::initialVerticalPosition const):
(WebCore::Layout::FloatingContext::alignWithContainingBlock const):
(WebCore::Layout::FloatingContext::alignWithFloatings const):
(WebCore::Layout::floatingDisplayBox):
(WebCore::Layout::FloatingPair::FloatingPair):
(WebCore::Layout::FloatingPair::left const):
(WebCore::Layout::FloatingPair::right const):
(WebCore::Layout::FloatingPair::intersects const):
(WebCore::Layout::Iterator::Iterator):
(WebCore::Layout::Iterator::operator++):
(WebCore::Layout::Iterator::set):
(WebCore::Layout::FloatingContext::computePosition): Deleted.
- layout/FloatingContext.h:
- layout/FloatingState.cpp:
(WebCore::Layout::FloatingState::append):
- layout/FloatingState.h:
(WebCore::Layout::FloatingState::floatings const):
(WebCore::Layout::FloatingState::last const):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layout const):
(WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot const):
- layout/displaytree/DisplayBox.cpp:
(WebCore::Display::Box::Rect::Rect):
- layout/displaytree/DisplayBox.h:
(WebCore::Display::Box::Rect::intersects const):
(WebCore::Display::Box::rect const):
- 5:01 AM Changeset in webkit [234422] by
-
- 4 edits in trunk/Source
Remove ResourceResponse::cacheBodyKey API
https://bugs.webkit.org/show_bug.cgi?id=188192
Patch by Rob Buis <rbuis@igalia.com> on 2018-07-31
Reviewed by Frédéric Wang.
Source/WebCore:
Removed unused API.
No new tests needed since this API is not used.
- platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::encode const):
(WebCore::ResourceResponseBase::decode):
(WebCore::ResourceResponseBase::cacheBodyKey const): Deleted.
(WebCore::ResourceResponseBase::setCacheBodyKey): Deleted.
Source/WebKit:
Remove unused API.
- NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::decodeStorageRecord):
- 3:39 AM Changeset in webkit [234421] by
-
- 2 edits2 adds in trunk/LayoutTests
[WPE] webanimations/partly-accelerated-transition-by-removing-property.html is failing since added in r234250 "[Web Animations] REGRESSION: transition added immediately after element creation doesn't work"
https://bugs.webkit.org/show_bug.cgi?id=188058
Unreviewed. Adding custom test expectation for WPE, as it never leaves AC mode.
- platform/wpe/TestExpectations:
- platform/wpe/webanimations/partly-accelerated-transition-by-removing-property-expected.txt: Added.
- 2:25 AM Changeset in webkit [234420] by
-
- 2 edits in releases/WebKitGTK/webkit-2.20/Source/WebKit
Merge r233353 - [WPE] Some frames are dropped when using rAF to animate an element
https://bugs.webkit.org/show_bug.cgi?id=187175
Always call renderNextFrame in ThreadedCompositor::requestDisplayRefreshMonitorUpdate()
so we have to process any pending layer flush request.
Reviewed by Žan Doberšek.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::handleDisplayRefreshMonitorUpdate):
- 2:25 AM WebKitGTK/2.20.x edited by
- (diff)
- 2:25 AM Changeset in webkit [234419] by
-
- 6 edits in releases/WebKitGTK/webkit-2.20/Source
Merge r233193 - [GTK] Many webpages can crash the browser in WebCore::CoordinatedGraphicsLayer::transformedVisibleRect
https://bugs.webkit.org/show_bug.cgi?id=179304
Reviewed by Michael Catanzaro.
Source/WebCore:
When adding new CoordinatedGraphicsLayers to the tree, check that they have the appropriate
CompositingCoordinator. If that's not the case, set the appropriate one to the layer and its
children and set the state of those layers so they are rendered properly.
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::addChild):
(WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
(WebCore::CoordinatedGraphicsLayer::addChildAbove):
(WebCore::CoordinatedGraphicsLayer::addChildBelow):
(WebCore::CoordinatedGraphicsLayer::replaceChild):
(WebCore::CoordinatedGraphicsLayer::setCoordinatorIncludingSubLayersIfNeeded):
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
Source/WebKit:
Add a way to attach to the CompositingCoordinator layers that were not created by it.
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::attachLayer):
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
- 2:25 AM Changeset in webkit [234418] by
-
- 3 edits in releases/WebKitGTK/webkit-2.20/Source/ThirdParty
Merge r233404 - Fix off-by-one error in xdg_mime_get_simple_globs
https://bugs.webkit.org/show_bug.cgi?id=186554
Reviewed by Daniel Bates.
We have an off-by-one error here in some code that was added for WebKit. (This is not an
issue with upstream xdgmime.)
No new tests. This problem is caught by TestDownloads, but only when running with ASan
enabled.
- xdgmime/src/xdgmimecache.c:
(get_simple_globs):
- xdgmime/src/xdgmimeglob.c:
(get_simple_globs):
- 2:25 AM Changeset in webkit [234417] by
-
- 10 edits2 adds in releases/WebKitGTK/webkit-2.20
Merge r232313 - LLInt get_by_id prototype caching doesn't properly handle changes
https://bugs.webkit.org/show_bug.cgi?id=186112
Reviewed by Filip Pizlo.
JSTests:
- stress/llint-proto-get-by-id-cache-change-prototype.js: Added.
(foo):
- stress/llint-proto-get-by-id-cache-intercept-value.js: Added.
(foo):
Source/JavaScriptCore:
The caching would sometimes fail to track that a prototype had changed
and wouldn't update its set of watchpoints.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finalizeLLIntInlineCaches):
- bytecode/CodeBlock.h:
- bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h:
(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::key const):
- bytecode/ObjectPropertyConditionSet.h:
(JSC::ObjectPropertyConditionSet::size const):
- bytecode/Watchpoint.h:
(JSC::Watchpoint::Watchpoint): Deleted.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setupGetByIdPrototypeCache):
Source/WTF:
Mark some methods const.
- wtf/Bag.h:
(WTF::Bag::begin const):
(WTF::Bag::end const):
(WTF::Bag::unwrappedHead const):
(WTF::Bag::end): Deleted.
(WTF::Bag::unwrappedHead): Deleted.
- 2:25 AM Changeset in webkit [234416] by
-
- 5 edits1 add in releases/WebKitGTK/webkit-2.20
Merge r232219 - for-in loops should preserve and restore the TDZ stack for each of its internal loops.
https://bugs.webkit.org/show_bug.cgi?id=185995
<rdar://problem/40173142>
Reviewed by Saam Barati.
JSTests:
- stress/regress-185995.js: Added.
Source/JavaScriptCore:
This is because there's no guarantee that any of the loop bodies will be
executed. Hence, there's no guarantee that the TDZ variables will have been
initialized after each loop body.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::preserveTDZStack):
(JSC::BytecodeGenerator::restoreTDZStack):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::ForInNode::emitBytecode):
- 2:24 AM Changeset in webkit [234415] by
-
- 7 edits in releases/WebKitGTK/webkit-2.20/Source/JavaScriptCore
Merge r231518 - Deferred firing of structure transition watchpoints is racy
https://bugs.webkit.org/show_bug.cgi?id=185438
Reviewed by Saam Barati.
Changed DeferredStructureTransitionWatchpointFire to take the watchpoints to fire
and fire them in the destructor. When the watchpoints are taken from the
original WatchpointSet, that WatchpointSet if marked invalid.
- bytecode/Watchpoint.cpp:
(JSC::WatchpointSet::fireAllSlow):
(JSC::WatchpointSet::take):
(JSC::DeferredWatchpointFire::DeferredWatchpointFire):
(JSC::DeferredWatchpointFire::~DeferredWatchpointFire):
(JSC::DeferredWatchpointFire::fireAll):
(JSC::DeferredWatchpointFire::takeWatchpointsToFire):
- bytecode/Watchpoint.h:
(JSC::WatchpointSet::fireAll):
(JSC::InlineWatchpointSet::fireAll):
- runtime/JSObject.cpp:
(JSC::JSObject::setPrototypeDirect):
(JSC::JSObject::convertToDictionary):
- runtime/JSObjectInlines.h:
(JSC::JSObject::putDirectInternal):
- runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC::DeferredStructureTransitionWatchpointFire::DeferredStructureTransitionWatchpointFire):
(JSC::DeferredStructureTransitionWatchpointFire::~DeferredStructureTransitionWatchpointFire):
(JSC::DeferredStructureTransitionWatchpointFire::dump const):
(JSC::Structure::didTransitionFromThisStructure const):
(JSC::DeferredStructureTransitionWatchpointFire::add): Deleted.
- runtime/Structure.h:
(JSC::DeferredStructureTransitionWatchpointFire::structure const):
- 2:24 AM Changeset in webkit [234414] by
-
- 6 edits5 adds in releases/WebKitGTK/webkit-2.20
Merge r231513 - Mute MediaElementSourceNode when tainted.
https://bugs.webkit.org/show_bug.cgi?id=184866
Reviewed by Eric Carlson.
Source/WebCore:
Test: http/tests/security/webaudio-render-remote-audio-blocked-no-crossorigin.html
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::wouldTaintOrigin const):
- Modules/webaudio/AudioContext.h:
- Modules/webaudio/MediaElementAudioSourceNode.cpp:
(WebCore::MediaElementAudioSourceNode::setFormat):
(WebCore::MediaElementAudioSourceNode::wouldTaintOrigin):
(WebCore::MediaElementAudioSourceNode::process):
- Modules/webaudio/MediaElementAudioSourceNode.h:
LayoutTests:
- http/tests/media/resources/1000Hz-sin.wav: Added.
- http/tests/security/webaudio-render-remote-audio-allowed-crossorigin-expected.txt: Added.
- http/tests/security/webaudio-render-remote-audio-allowed-crossorigin.html: Added.
- http/tests/security/webaudio-render-remote-audio-blocked-no-crossorigin-expected.txt: Added.
- http/tests/security/webaudio-render-remote-audio-blocked-no-crossorigin.html: Added.
- 2:24 AM Changeset in webkit [234413] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.20
Merge r231441 - WebGL: Reset simulated values after validation fails
https://bugs.webkit.org/show_bug.cgi?id=185363
<rdar://problem/39733417>
Reviewed by Anders Carlsson.
Source/WebCore:
While fixing a previous bug, I forgot to reset some values
when validation fails. This caused a bug where a subsequent
invalid call might use those values and escape detection.
Test: fast/canvas/webgl/index-validation-with-subsequent-draws.html
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::simulateVertexAttrib0): Reset the
sizes when validation fails.
- html/canvas/WebGLRenderingContextBase.h:
LayoutTests:
- fast/canvas/webgl/index-validation-with-subsequent-draws-expected.txt: Added.
- fast/canvas/webgl/index-validation-with-subsequent-draws.html: Added.
- 2:24 AM Changeset in webkit [234412] by
-
- 4 edits in releases/WebKitGTK/webkit-2.20/Source/WebCore
Merge r231335 - Widgets should hold a WeakPtr to their parents
https://bugs.webkit.org/show_bug.cgi?id=185239
<rdar://problem/39741250>
Reviewed by Zalan Bujtas.
- platform/ScrollView.h:
(WebCore::ScrollView::weakPtrFactory): Added.
- platform/Widget.cpp:
(WebCore::Widget::init): Don't perform an unnecessary assignment.
(WebCore::Widget::setParent): Grab a WeakPtr to the parent ScrollView.
- platform/Widget.h:
(WebCore::Widget::parent const): Change type to a WeakPtr.
- 2:20 AM Changeset in webkit [234411] by
-
- 5 edits in trunk
[WTF] String::formatWithArguments() is unused
https://bugs.webkit.org/show_bug.cgi?id=187955
Reviewed by Darin Adler.
Source/WTF:
This method is unused, remove it.
- wtf/text/WTFString.cpp:
(WTF::String::formatWithArguments): Deleted.
- wtf/text/WTFString.h:
Tools:
Remove tests for WTF::String::formatWithArguments() as it's unused and
we are removing it.
- TestWebKitAPI/Tests/WTF/WTFString.cpp:
- 12:23 AM Changeset in webkit [234410] by
-
- 23 edits in releases/WebKitGTK/webkit-2.20/Source/WebCore
Merge r232496 - REGRESSION(r231291): InputType should hold a WeakPtr to its HTMLInputElement
https://bugs.webkit.org/show_bug.cgi?id=186096
<rdar://problem/40651015>
Reviewed by Ryosuke Niwa.
Now that the InputType may be kept alive as part of in-flight form submissions, we
shouldn't assume that the referenced HTMLInputElement is still valid before using it.
The only time we should be lacking a referencing element is in cases where the InputType
is changing, either through a change in the HTMLInputElement's type attribute. In those
cases we should check for a valid HTMLInputElement. In other cases, we should ASSERT.
- html/BaseButtonInputType.cpp:
(WebCore::BaseButtonInputType::createInputRenderer):
(WebCore::BaseButtonInputType::setValue):
- html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::saveFormControlState const):
(WebCore::BaseCheckableInputType::restoreFormControlState):
(WebCore::BaseCheckableInputType::appendFormData const):
(WebCore::BaseCheckableInputType::handleKeydownEvent):
(WebCore::BaseCheckableInputType::accessKeyAction):
(WebCore::BaseCheckableInputType::setValue):
- html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::attributeChanged): Add a nullptr check
here, since this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
- html/BaseClickableWithKeyInputType.cpp:
(WebCore::BaseClickableWithKeyInputType::handleKeydownEvent):
(WebCore::BaseClickableWithKeyInputType::handleKeypressEvent):
(WebCore::BaseClickableWithKeyInputType::accessKeyAction):
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::attributeChanged): Add a nullptr check
here, since this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
- html/BaseTextInputType.cpp:
(WebCore::BaseTextInputType::patternMismatch const):
- html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::valueMissing const):
(WebCore::CheckboxInputType::willDispatchClick):
(WebCore::CheckboxInputType::didDispatchClick):
(WebCore::CheckboxInputType::shouldAppearIndeterminate const):
- html/ColorInputType.cpp:
(WebCore::ColorInputType::valueAsColor const):
(WebCore::ColorInputType::createShadowSubtree):
(WebCore::ColorInputType::handleDOMActivateEvent):
(WebCore::ColorInputType::didChooseColor):
(WebCore::ColorInputType::updateColorSwatch):
(WebCore::ColorInputType::shadowColorSwatch const):
(WebCore::ColorInputType::elementRectRelativeToRootView const):
(WebCore::ColorInputType::shouldShowSuggestions const):
(WebCore::ColorInputType::suggestions const):
- html/EmailInputType.cpp:
(WebCore::EmailInputType::typeMismatchFor const):
(WebCore::EmailInputType::typeMismatch const):
(WebCore::EmailInputType::typeMismatchText const):
(WebCore::EmailInputType::sanitizeValue const):
- html/FileInputType.cpp:
(WebCore::FileInputType::appendFormData const):
(WebCore::FileInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::FileInputType::valueMissing const):
(WebCore::FileInputType::valueMissingText const):
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::createInputRenderer):
(WebCore::FileInputType::setValue):
(WebCore::FileInputType::createShadowSubtree):
(WebCore::FileInputType::disabledAttributeChanged):
(WebCore::FileInputType::multipleAttributeChanged):
(WebCore::FileInputType::allowsDirectories const):
(WebCore::FileInputType::setFiles):
(WebCore::FileInputType::iconLoaded):
(WebCore::FileInputType::receiveDroppedFiles):
(WebCore::FileInputType::defaultToolTip const):
- html/HTMLInputElement.h:
(WebCore::HTMLInputElement::weakPtrFactory const):
- html/HiddenInputType.cpp:
(WebCore::HiddenInputType::saveFormControlState const):
(WebCore::HiddenInputType::restoreFormControlState):
(WebCore::HiddenInputType::setValue):
(WebCore::HiddenInputType::appendFormData const):
- html/ImageInputType.cpp:
(WebCore::ImageInputType::appendFormData const):
(WebCore::ImageInputType::handleDOMActivateEvent):
(WebCore::ImageInputType::createInputRenderer):
(WebCore::ImageInputType::altAttributeChanged):
(WebCore::ImageInputType::srcAttributeChanged):
(WebCore::ImageInputType::attach):
(WebCore::ImageInputType::height const):
(WebCore::ImageInputType::width const):
- html/InputType.cpp:
(WebCore::InputType::saveFormControlState const):
(WebCore::InputType::restoreFormControlState):
(WebCore::InputType::isFormDataAppendable const):
(WebCore::InputType::appendFormData const):
(WebCore::InputType::sizeShouldIncludeDecoration const):
(WebCore::InputType::validationMessage const):
(WebCore::InputType::createInputRenderer):
(WebCore::InputType::blur):
(WebCore::InputType::destroyShadowSubtree):
(WebCore::InputType::dispatchSimulatedClickIfActive const):
(WebCore::InputType::chrome const):
(WebCore::InputType::isKeyboardFocusable const):
(WebCore::InputType::isMouseFocusable const):
(WebCore::InputType::accessKeyAction):
(WebCore::InputType::setValue):
(WebCore::InputType::visibleValue const):
(WebCore::InputType::applyStep):
(WebCore::InputType::stepUpFromRenderer):
- html/InputType.h:
(WebCore::InputType::InputType):
(WebCore::InputType::element const):
- html/NumberInputType.cpp:
(WebCore::NumberInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::NumberInputType::setValue):
(WebCore::NumberInputType::valueAsDouble const):
(WebCore::NumberInputType::setValueAsDouble const):
(WebCore::NumberInputType::setValueAsDecimal const):
(WebCore::NumberInputType::typeMismatch const):
(WebCore::NumberInputType::createStepRange const):
(WebCore::NumberInputType::sizeShouldIncludeDecoration const):
(WebCore::NumberInputType::decorationWidth const):
(WebCore::NumberInputType::localizeValue const):
(WebCore::NumberInputType::visibleValue const):
(WebCore::NumberInputType::convertFromVisibleValue const):
(WebCore::NumberInputType::hasBadInput const):
(WebCore::NumberInputType::minOrMaxAttributeChanged):
(WebCore::NumberInputType::stepAttributeChanged):
- html/RadioInputType.cpp:
(WebCore::RadioInputType::valueMissing const):
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::handleKeyupEvent):
(WebCore::RadioInputType::isKeyboardFocusable const):
(WebCore::RadioInputType::shouldSendChangeEventAfterCheckedChanged):
(WebCore::RadioInputType::willDispatchClick):
(WebCore::RadioInputType::didDispatchClick):
(WebCore::RadioInputType::matchesIndeterminatePseudoClass const):
- html/RangeInputType.cpp:
(WebCore::RangeInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::RangeInputType::valueAsDouble const):
(WebCore::RangeInputType::setValueAsDecimal const):
(WebCore::RangeInputType::createStepRange const):
(WebCore::RangeInputType::handleMouseDownEvent):
(WebCore::RangeInputType::handleTouchEvent):
(WebCore::RangeInputType::handleKeydownEvent):
(WebCore::RangeInputType::createShadowSubtree):
(WebCore::RangeInputType::sliderTrackElement const):
(WebCore::RangeInputType::createInputRenderer):
(WebCore::RangeInputType::accessKeyAction):
(WebCore::RangeInputType::minOrMaxAttributeChanged):
(WebCore::RangeInputType::setValue):
(WebCore::RangeInputType::updateTickMarkValues):
- html/ResetInputType.cpp:
(WebCore::ResetInputType::handleDOMActivateEvent):
- html/SearchInputType.cpp:
(WebCore::SearchInputType::addSearchResult):
(WebCore::SearchInputType::maxResultsAttributeChanged):
(WebCore::SearchInputType::createInputRenderer):
(WebCore::SearchInputType::createShadowSubtree):
(WebCore::SearchInputType::handleKeydownEvent):
(WebCore::SearchInputType::startSearchEventTimer):
(WebCore::SearchInputType::searchEventTimerFired):
(WebCore::SearchInputType::searchEventsShouldBeDispatched const):
(WebCore::SearchInputType::didSetValueByUserEdit):
(WebCore::SearchInputType::sizeShouldIncludeDecoration const):
- html/SubmitInputType.cpp:
(WebCore::SubmitInputType::appendFormData const):
(WebCore::SubmitInputType::handleDOMActivateEvent):
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::TextFieldInputType::isKeyboardFocusable const):
(WebCore::TextFieldInputType::isMouseFocusable const):
(WebCore::TextFieldInputType::valueMissing const):
(WebCore::TextFieldInputType::setValue):
(WebCore::TextFieldInputType::handleKeydownEvent):
(WebCore::TextFieldInputType::handleKeydownEventForSpinButton):
(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::elementDidBlur):
(WebCore::TextFieldInputType::handleFocusEvent):
(WebCore::TextFieldInputType::handleBlurEvent):
(WebCore::TextFieldInputType::createInputRenderer):
(WebCore::TextFieldInputType::shouldHaveSpinButton const):
(WebCore::TextFieldInputType::shouldHaveCapsLockIndicator const):
(WebCore::TextFieldInputType::createShadowSubtree):
(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
(WebCore::TextFieldInputType::updatePlaceholderText):
(WebCore::TextFieldInputType::appendFormData const):
(WebCore::TextFieldInputType::subtreeHasChanged):
(WebCore::TextFieldInputType::didSetValueByUserEdit):
(WebCore::TextFieldInputType::updateInnerTextValue):
(WebCore::TextFieldInputType::focusAndSelectSpinButtonOwner):
(WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents):
(WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents):
(WebCore::TextFieldInputType::shouldDrawCapsLockIndicator const):
(WebCore::TextFieldInputType::shouldDrawAutoFillButton const):
(WebCore::TextFieldInputType::autoFillButtonElementWasClicked):
(WebCore::TextFieldInputType::createContainer):
(WebCore::TextFieldInputType::createAutoFillButton):
(WebCore::TextFieldInputType::updateAutoFillButton):
- html/URLInputType.cpp:
(WebCore::URLInputType::typeMismatch const):
- 12:23 AM Changeset in webkit [234409] by
-
- 6 edits2 adds in releases/WebKitGTK/webkit-2.20
Merge r231291 - Use RetainPtr for form input type
https://bugs.webkit.org/show_bug.cgi?id=185210
<rdar://problem/39734040>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Refactor our HTMLInputElement class to store its InputType member as a RefPtr.
Test: fast/forms/access-key-mutation-2.html.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::didAddUserAgentShadowRoot):
(WebCore::HTMLInputElement::accessKeyAction):
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::appendFormData):
- html/HTMLInputElement.h:
- html/InputType.cpp:
(WebCore::createInputType):
(WebCore::InputType::create):
(WebCore::InputType::createText):
- html/InputType.h:
LayoutTests:
- fast/forms/access-key-mutation-2-expected.txt: Added.
- fast/forms/access-key-mutation-2.html: Added.
- 12:01 AM Changeset in webkit [234408] by
-
- 6 edits2 adds in releases/WebKitGTK/webkit-2.20
Merge r231236 - Prevent Debug ASSERT when changing forms
https://bugs.webkit.org/show_bug.cgi?id=185173
<rdar://problem/39738669>
Reviewed by Ryosuke Niwa.
Form submission could trigger a debug assertion during validation when
a form is changed during an input submission. Fix this by cleaning up
the event handling logic and make it more consistent with modern WebKit
coding style.
Test: fast/forms/form-submission-crash-3.html
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::defaultEventHandler): Make sure layout runs before
attempting to perform event handling.
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::reportValidity): Ditto.
(WebCore::HTMLFormElement::validateInteractively): Remove call to perform layout here,
since we expect this to happen earlier in the layout pass. Add an assertion that the
tree is not dirty.
- html/ImageInputType.cpp:
(WebCore::ImageInputType::handleDOMActivateEvent): Make sure layout runs before
attempting to perform event handling.
- html/SubmitInputType.cpp:
(WebCore::SubmitInputType::handleDOMActivateEvent): Ditto.
LayoutTests:
Prevent assertion when changing forms
https://bugs.webkit.org/show_bug.cgi?id=185173
<rdar://problem/39738669>
Reviewed by Ryosuke Niwa.
- fast/forms/form-submission-crash-3-expected.txt: Added.
- fast/forms/form-submission-crash-3.html: Added.
- 12:01 AM Changeset in webkit [234407] by
-
- 4 edits1 add in releases/WebKitGTK/webkit-2.20
Merge r231145 - We don't model regexp effects properly
https://bugs.webkit.org/show_bug.cgi?id=185059
<rdar://problem/39736150>
Reviewed by Filip Pizlo.
JSTests:
- stress/regexp-exec-test-effectful-last-index.js: Added.
(assert):
(foo):
(i.regexLastIndex.toString):
(bar):
Source/JavaScriptCore:
RegExp exec/test can do arbitrary effects when toNumbering the lastIndex if
the regexp is global.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- 12:00 AM Changeset in webkit [234406] by
-
- 4 edits1 add in releases/WebKitGTK/webkit-2.20
Merge r231034 - In FTLLowerDFGToB3.cpp::compileCreateRest, always use a contiguous array as the indexing type when under isWatchingHavingABadTimeWatchpoint
https://bugs.webkit.org/show_bug.cgi?id=184773
<rdar://problem/37773612>
Reviewed by Filip Pizlo.
JSTests:
This bug requires a race between the thread doing FTL compilation and the main thread, but it triggers in 100% of cases (before the fix) on my machine
so I decided to add it to the stress tests nonetheless.
- stress/create-rest-while-having-a-bad-time.js: Added.
(f):
(g):
(h):
Source/JavaScriptCore:
We were calling restParameterStructure(), which returns arrayStructureForIndexingTypeDuringAllocation(ArrayWithContiguous).
arrayStructureForIndexingTypeDuringAllocation uses m_arrayStructureForIndexingShapeDuringAllocation, which is set to SlowPutArrayStorage when we are 'having a bad time'.
This is problematic, because the structure is then passed to allocateUninitializedContiguousJSArray, which ASSERTs that the indexing type is contiguous (or int32).
We solve the problem by using originalArrayStructureForIndexingType which always returns a structure with the right indexing type (contiguous), even if we are having a bad time.
This is safe, as we are under isWatchingHavingABadTimeWatchpoint, so if we have a bad time, the code we generate will never be installed.
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCreateRest):
- 12:00 AM Changeset in webkit [234405] by
-
- 3 edits in releases/WebKitGTK/webkit-2.20/JSTests
Merge r230972 - Gardening: test fix after r230863.
https://bugs.webkit.org/show_bug.cgi?id=184846
<rdar://problem/39390672>
Not reviewed.
- stress/json-stringified-overflow-2.js:
(catch):
- stress/json-stringified-overflow.js:
(catch):
- 12:00 AM Changeset in webkit [234404] by
-
- 4 edits1 add in releases/WebKitGTK/webkit-2.20
Merge r230863 - Handle more JSON stringify OOM
https://bugs.webkit.org/show_bug.cgi?id=184846
<rdar://problem/39390672>
Reviewed by Mark Lam.
JSTests:
- stress/json-stringified-overflow-2.js: Added. Same as the one
below, but with a bigger input which will trigger a different code
path.
(catch):
- stress/json-stringified-overflow.js: Modify the test to only
catch OOM on stringification. not on string creation.
Source/WTF:
JSON stringification can OOM easily. Here's another case.
- wtf/text/StringBuilderJSON.cpp:
(WTF::StringBuilder::appendQuotedJSONString):
- 12:00 AM Changeset in webkit [234403] by
-
- 3 edits4 adds in releases/WebKitGTK/webkit-2.20
Merge r230740 - A put is not an ExistingProperty put when we transition a structure because of an attributes change
https://bugs.webkit.org/show_bug.cgi?id=184706
<rdar://problem/38871451>
Reviewed by Saam Barati.
JSTests:
- stress/put-by-id-direct-strict-transition.js: Added.
(const.foo):
(j.const.obj.set hello):
- stress/put-by-id-direct-transition.js: Added.
(const.foo):
(j.const.obj.set hello):
- stress/put-getter-setter-by-id-strict-transition.js: Added.
(const.foo):
(j.const.obj.set hello):
- stress/put-getter-setter-by-id-transition.js: Added.
(const.foo):
(j.const.obj.set hello):
Source/JavaScriptCore:
When putting a property on a structure and the slot is a different
type, the slot can't be said to have already been existing.
- runtime/JSObjectInlines.h:
(JSC::JSObject::putDirectInternal):
- 12:00 AM Changeset in webkit [234402] by
-
- 2 edits in releases/WebKitGTK/webkit-2.20/Source/JavaScriptCore
Merge r231171 - Remove unneeded exception check from String.fromCharCode
https://bugs.webkit.org/show_bug.cgi?id=185083
Reviewed by Mark Lam.
- runtime/StringConstructor.cpp:
(JSC::stringFromCharCode):
Jul 30, 2018:
- 5:48 PM Changeset in webkit [234401] by
-
- 2 edits in trunk/Source/JavaScriptCore
watchOS engineering build is broken after r234227
https://bugs.webkit.org/show_bug.cgi?id=188180
Reviewed by Keith Miller.
In the case where we're building with a
PLATFORM_NAME
of neither "macosx" nor "iphone*",
postprocess-headers.sh attempts to delete any usage of the JSC availability macros. However,
JSC_MAC_VERSION_TBA
andJSC_IOS_VERSION_TBA
still remain, and JSValue.h's usage of
JSC_IOS_VERSION_TBA
causes engineering watchOS builds to fail.
To fix this, simply allow the fallback path to remove these macros from JavaScriptCore headers
entirely, since there's no relevant version to replace them with.
- postprocess-headers.sh:
- 5:35 PM Changeset in webkit [234400] by
-
- 1 copy in tags/Safari-606.1.33
Tag Safari-606.1.33.
- 5:17 PM Changeset in webkit [234399] by
-
- 25 edits4 adds2 deletes in branches/safari-606-branch
Revert r233926. rdar://problem/42354941
- 4:51 PM Changeset in webkit [234398] by
-
- 2 edits in trunk/Tools
[ews-build] Fix typo in builder name for Bindings-tests-EWS.
- BuildSlaveSupport/ews-build/config.json: Changed 'tests' to 'Tests' to make it consistent with
other builders.
- 4:29 PM Changeset in webkit [234397] by
-
- 4 edits in trunk/Tools
[ews-build] Add support for API tests in OpenSource EWS
https://bugs.webkit.org/show_bug.cgi?id=188156
Reviewed by Lucas Forschler.
- BuildSlaveSupport/ews-build/config.json:
- BuildSlaveSupport/ews-build/factories.py:
(BuildFactory.init): Added triggers parameter.
(BuildFactory): If trigger is defined, create and upload archive and trigger appropriate queues.
(BuildFactory.propertiesToPassToTriggers): Pass all the required properties to triggered queue.
(APITestsFactory): Factory for running API tests.
- BuildSlaveSupport/ews-build/steps.py:
(ConfigureBuild.start): Set the property only if property is defined in config.json. Also set the
source of the property.
- 4:23 PM Changeset in webkit [234396] by
-
- 14 edits in trunk/Source
Add support for fetching and remove type _WKWebsiteDataTypeHSTSCache
https://bugs.webkit.org/show_bug.cgi?id=187379
<rdar://problem/41879559>
Source/WebCore/PAL:
Reviewed by Geoffrey Garen.
- pal/spi/cf/CFNetworkSPI.h:
Source/WebKit:
WKWebsiteDataStore should support _WKWebsiteDataTypeHSTSCache so Safari could list HSTS cache entries
and be able to remove them on a per-domain basis.
Reviewed by Geoffrey Garen.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::filterPreloadHSTSEntry):
(WebKit::NetworkProcess::getHostNamesWithHSTSCache):
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames):
- Shared/WebsiteData/WebsiteData.cpp:
(WebKit::WebsiteData::encode const):
(WebKit::WebsiteData::decode):
- Shared/WebsiteData/WebsiteData.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(WebKit::WebsiteDataRecord::displayNameForCookieHostName):
(WebKit::WebsiteDataRecord::displayNameForHostName):
(WebKit::WebsiteDataRecord::addHSTSCacheHostname):
(WebKit::WebsiteDataRecord::displayNameForPluginDataHostName): Deleted.
- UIProcess/WebsiteData/WebsiteDataRecord.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):
- 4:22 PM Changeset in webkit [234395] by
-
- 3 edits in trunk/Tools
[ews-build] loadConfig should ensure that the triggers are valid
https://bugs.webkit.org/show_bug.cgi?id=188134
Reviewed by Lucas Forschler.
- BuildSlaveSupport/ews-build/loadConfig.py:
(checkValidBuilder): Added a check to ensure that the builder doesn't refernce non-existing scheduler.
(checkValidSchedulers): Ensures that the scheduler is not un-used.
- BuildSlaveSupport/ews-build/loadConfig_unittest.py: Updated unit-tests.
- 4:10 PM Changeset in webkit [234394] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Dark Mode: Search sidebar panel text field has a white background
https://bugs.webkit.org/show_bug.cgi?id=188128
<rdar://problem/42678270>
Reviewed by Matt Baker.
Make the search bar in Search tab match the style of the filter bar.
- UserInterface/Views/DarkMode.css:
(@media (prefers-dark-interface)):
(:matches(.search-bar, .filter-bar) > input[type="search"],):
(:matches(.search-bar, .filter-bar) > input[type="search"]::placeholder):
(:matches(.search-bar, .filter-bar) > input[type="search"]:focus):
(.filter-bar > input[type="search"]): Deleted.
(.filter-bar > input[type="search"]::placeholder): Deleted.
(.filter-bar > input[type="search"]:focus): Deleted.
- 4:07 PM Changeset in webkit [234393] by
-
- 27 edits in trunk/Source
Shrink GraphicsLayerCA
https://bugs.webkit.org/show_bug.cgi?id=188141
Reviewed by Zalan Bujtas.
Source/WebCore:
Shrink GraphicsLayerCA from 1040 to 880 bytes by:
- moving all the clone-related stuff into the lazily-allocated m_layerClones
- moving all the animation-related stuff into the lazily-allocated m_animations
- making enums be 8-bit
- re-ordering data members
- page/cocoa/ResourceUsageOverlayCocoa.mm:
(WebCore::ResourceUsageOverlay::platformInitialize):
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer):
(WebCore::operator<<):
- platform/graphics/GraphicsLayer.h:
- platform/graphics/GraphicsLayerClient.h:
- platform/graphics/WindRule.h:
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::moveOrCopyAnimations):
(WebCore::GraphicsLayerCA::addProcessingActionForAnimation):
(WebCore::GraphicsLayerCA::setContentsToSolidColor):
(WebCore::GraphicsLayerCA::setContentsToImage):
(WebCore::GraphicsLayerCA::setContentsToPlatformLayer):
(WebCore::GraphicsLayerCA::contentsLayerForMedia const):
(WebCore::GraphicsLayerCA::layerDidDisplay):
(WebCore::layerTypeForCustomBackdropAppearance):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::updateMasksToBounds):
(WebCore::GraphicsLayerCA::updateContentsVisibility):
(WebCore::GraphicsLayerCA::updateContentsOpaque):
(WebCore::GraphicsLayerCA::updateBackfaceVisibility):
(WebCore::GraphicsLayerCA::updateFilters):
(WebCore::GraphicsLayerCA::updateBackdropFilters):
(WebCore::GraphicsLayerCA::updateBackdropFiltersRect):
(WebCore::GraphicsLayerCA::ensureStructuralLayer):
(WebCore::GraphicsLayerCA::updateDrawsContent):
(WebCore::GraphicsLayerCA::updateCoverage):
(WebCore::GraphicsLayerCA::updateDebugIndicators):
(WebCore::GraphicsLayerCA::updateContentsImage):
(WebCore::GraphicsLayerCA::updateContentsPlatformLayer):
(WebCore::GraphicsLayerCA::updateContentsColorLayer):
(WebCore::GraphicsLayerCA::updateContentsRects):
(WebCore::GraphicsLayerCA::updateMasksToBoundsRect):
(WebCore::GraphicsLayerCA::updateMaskLayer):
(WebCore::GraphicsLayerCA::updateAnimations):
(WebCore::GraphicsLayerCA::isRunningTransformAnimation const):
(WebCore::GraphicsLayerCA::ensureLayerAnimations):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
- platform/graphics/ca/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::animationIsRunning const):
(WebCore::GraphicsLayerCA::primaryLayerClones const): Deleted.
- platform/graphics/ca/PlatformCALayerClient.h:
(WebCore::PlatformCALayerClient::platformCALayerContentsOrientation const):
- platform/graphics/ca/TileCoverageMap.h:
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.h:
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(PlatformCALayerCocoa::PlatformCALayerCocoa):
(PlatformCALayerCocoa::requiresCustomAppearanceUpdateOnBoundsChange const):
(PlatformCALayerCocoa::updateCustomAppearance):
(PlatformCALayer::drawLayerContents):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateCustomAppearance):
(WebCore::RenderLayerBacking::updateConfiguration):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rootBackgroundColorOrTransparencyChanged):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
Source/WebKit:
Shrink GraphicsLayerCA from 1040 to 880 bytes by:
- moving all the clone-related stuff into the lazily-allocated m_layerClones
- moving all the animation-related stuff into the lazily-allocated m_animations
- making enums be 8-bit
- re-ordering data members
- Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
(WebKit::updateCustomAppearance):
(WebKit::RemoteLayerTreePropertyApplier::applyProperties):
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
- WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::requiresCustomAppearanceUpdateOnBoundsChange const):
Source/WebKitLegacy/mac:
Shrink GraphicsLayerCA from 1040 to 880 bytes by:
- moving all the clone-related stuff into the lazily-allocated m_layerClones
- moving all the animation-related stuff into the lazily-allocated m_animations
- making enums be 8-bit
- re-ordering data members
- WebView/WebView.mm:
(-[WebView _setMediaLayer:forPluginView:]):
- 3:01 PM Changeset in webkit [234392] by
-
- 2 edits in branches/safari-606-branch/Source/WebKit
Revert r233925. rdar://problem/42354959
- 3:01 PM Changeset in webkit [234391] by
-
- 2 edits in branches/safari-606-branch/Source/WebCore
Revert r233930. rdar://problem/42354941
- 3:01 PM Changeset in webkit [234390] by
-
- 2 edits in branches/safari-606-branch/Source/WebCore
Revert r234044. rdar://problem/42433225
- 3:01 PM Changeset in webkit [234389] by
-
- 3 edits in branches/safari-606-branch/Source/WebCore
Revert r234051. rdar://problem/42451584
- 3:01 PM Changeset in webkit [234388] by
-
- 2 edits in branches/safari-606-branch/Source/WebCore
Revert r234078. rdar://problem/42490088
- 3:01 PM Changeset in webkit [234387] by
-
- 2 edits in branches/safari-606-branch/Source/WebKit
Revert r234081. rdar://problem/42490080
- 3:01 PM Changeset in webkit [234386] by
-
- 3 edits in branches/safari-606-branch/Source/WebCore
Revert r234264. rdar://problem/42650373
- 3:01 PM Changeset in webkit [234385] by
-
- 2 edits in branches/safari-606-branch/Source/WebCore
Revert r234298. rdar://problem/42354941
- 2:47 PM Changeset in webkit [234384] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r230817): Terrible performance when selecting text on Stash code review
https://bugs.webkit.org/show_bug.cgi?id=188144
<rdar://problem/42642489>
Reviewed by Darin Adler.
After r230817, mouse events were serially dispatched to the web process and handled before the subsequent mouse
event. However, this resulted in rapid-fire mouse move events filling up the mouse event queue in the case where
mouse move events were being handled by the web process at a slower rate than the UI process was enqueueing
them. To mitigate this, r231511 introduced a mechanism for replacing the most recently enqueued mouse move event
with an incoming mouse move event.
However, when a user with a force-click-enabled trackpad performs a mouse drag, a rapid stream of
"mouseforcechanged" events is interleaved alongside the stream of "mousemove" events. This renders r231511
ineffective, since the most recently queued event is often a "mouseforcechanged" event instead of a "mousemove".
On the stash code review page, this can result in hundreds of mouse events being backed up in the mouse event
queue, causing perceived slowness when selecting text.
To fix this, we extend the mechanism introduced in r231511, such that it is capable of replacing both
"mouseforcechanged" and "mousemove" events in the queue. Rather than consider only the most recently queued
item, we instead find the most recently queued event that matches the type of the incoming event, remove it from
the queue, and then append the incoming event to the end of the queue. To avoid the risk of removing the only
"mousemove" or "mouseforcechanged" event in the middle of a mouse down and mouse up, we also bail when searching
backwards for an event to replace if we come across any event that is neither of these types.
This effectively throttles the rate at which mouseforcechanged or mousemove events are dispatched when a user
with force-click-enabled hardware clicks and drags the mouse across the page.
- UIProcess/WebPageProxy.cpp:
(WebKit::removeOldRedundantEvent):
(WebKit::WebPageProxy::handleMouseEvent):
- 2:27 PM Changeset in webkit [234383] by
-
- 2 edits in trunk/Source/JavaScriptCore
Clarify conversion rules for JSValue property access API
https://bugs.webkit.org/show_bug.cgi?id=188179
Reviewed by Geoffrey Garen.
- API/JSValue.h:
- 1:38 PM Changeset in webkit [234382] by
-
- 4 edits in trunk/Source
Add missing CoreGraphics SPI
https://bugs.webkit.org/show_bug.cgi?id=188177
Reviewed by Joseph Pecoraro.
Source/WebCore/PAL:
- pal/spi/cg/CoreGraphicsSPI.h:
Source/WebKit:
- WebProcess/cocoa/WebProcessCocoa.mm:
- 1:13 PM Changeset in webkit [234381] by
-
- 6 edits in trunk/Source/JavaScriptCore
Rename some JSC API functions/types.
https://bugs.webkit.org/show_bug.cgi?id=188173
Reviewed by Saam Barati.
- API/JSObjectRef.cpp:
(JSObjectHasPropertyForKey):
(JSObjectGetPropertyForKey):
(JSObjectSetPropertyForKey):
(JSObjectDeletePropertyForKey):
(JSObjectHasPropertyKey): Deleted.
(JSObjectGetPropertyKey): Deleted.
(JSObjectSetPropertyKey): Deleted.
(JSObjectDeletePropertyKey): Deleted.
- API/JSObjectRef.h:
- API/JSValue.h:
- API/JSValue.mm:
(-[JSValue valueForProperty:]):
(-[JSValue setValue:forProperty:]):
(-[JSValue deleteProperty:]):
(-[JSValue hasProperty:]):
(-[JSValue defineProperty:descriptor:]):
- API/tests/testapi.cpp:
(TestAPI::run):
- 1:00 PM Changeset in webkit [234380] by
-
- 19 edits2 adds in trunk
[WebGL2] Support compilation of GLSL ES version 300 shaders
https://bugs.webkit.org/show_bug.cgi?id=187982
<rdar://problem/42564229>
Patch by Justin Fan <Justin Fan> on 2018-07-30
Reviewed by Dean Jackson.
Source/WebCore:
Test: fast/canvas/webgl/webgl2-glsl3-compile.html
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create): Rename 'useGLES3' to 'isWebGL2' (everywhere) to make more sense.
- platform/graphics/GraphicsContext3DAttributes.h: Rename 'useGLES3' to 'isWebGL2'.
- platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
(WebCore::setPixelFormat): Back WebGL2 contexts with OpenGL 4 for full OpenGL ES 3 support.
(WebCore::GraphicsContext3D::GraphicsContext3D): Request correct GLSL output version and WebGL 2 for ANGLE shader compilation.
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::checkVaryingsPacking const): MAX_VARYING_FLOATS is deprecated in OpenGL 3+.
- platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp: Rename 'useGLES3' to 'isWebGL2'.
(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
LayoutTests:
New simple test added to ensure that GLSL ES version 300 shaders compile.
Updated other test results in glsl3 to match new functionality.
- fast/canvas/webgl/webgl2-glsl3-compile-expected.txt: Added.
- fast/canvas/webgl/webgl2-glsl3-compile.html: Added.
- platform/ios/TestExpectations: Skipping ios for now.
- webgl/2.0.0/conformance2/glsl3/compound-assignment-type-combination-expected.txt:
- webgl/2.0.0/conformance2/glsl3/forbidden-operators-expected.txt:
- webgl/2.0.0/conformance2/glsl3/invalid-default-precision-expected.txt:
- webgl/2.0.0/conformance2/glsl3/invalid-invariant-expected.txt:
- webgl/2.0.0/conformance2/glsl3/misplaced-version-directive-expected.txt:
- webgl/2.0.0/conformance2/glsl3/sampler-no-precision-expected.txt:
- webgl/2.0.0/conformance2/glsl3/sequence-operator-returns-non-constant-expected.txt:
- webgl/2.0.0/conformance2/glsl3/texture-offset-out-of-range-expected.txt:
- webgl/2.0.0/conformance2/glsl3/texture-offset-uniform-texture-coordinate-expected.txt:
- webgl/2.0.0/conformance2/glsl3/uniform-block-layout-match-expected.txt:
- webgl/2.0.0/conformance2/glsl3/uniform-block-layouts-expected.txt:
- 12:56 PM Changeset in webkit [234379] by
-
- 2 edits1 copy in trunk/LayoutTests
Rebaseline fast/forms/file/input-file-re-render.html for Mojave.
Unreviewed test gardening.
- platform/mac-highsierra/fast/forms/file/input-file-re-render-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/file/input-file-re-render-expected.txt.
- platform/mac/fast/forms/file/input-file-re-render-expected.txt:
- 12:56 PM Changeset in webkit [234378] by
-
- 2 edits in trunk/LayoutTests
Update TestExpectations for mac-wk1.
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 12:52 PM Changeset in webkit [234377] by
-
- 5 edits in trunk/Source/WebCore
Match GraphicsContext3D with correct virtual screen using registryID
https://bugs.webkit.org/show_bug.cgi?id=188072
<rdar://problem/42634940>
Patch by Justin Fan <Justin Fan> on 2018-07-30
Reviewed by Dean Jackson.
Follow up to https://bugs.webkit.org/show_bug.cgi?id=187750. Rather than matching rendererIDs,
which can vary between processes, match GPU to display using registryID that is unique to a GPU,
which was added to CGL in MacOS 10.13.
No new tests. Manually tested on MacBookPro13,3 and iMacPro1,1 with Apple DisplayPort Cinema Display
and RX 580 external GPU.
- platform/PlatformScreen.h:
- platform/ScreenProperties.h:
(WebCore::ScreenData::encode const):
(WebCore::ScreenData::decode):
- platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
(WebCore::setGPUByRegistryID):
(WebCore::setGPUByDisplayMask):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::screenDidChange):
(WebCore::identifyAndSetCurrentGPU): Deleted.
- platform/mac/PlatformScreenMac.mm:
(WebCore::collectScreenProperties):
(WebCore::primaryRegistryID):
(WebCore::registryIDForDisplay):
(WebCore::registryIDForDisplayMask):
(WebCore::rendererIDForDisplayMask): Deleted.
(WebCore::rendererIDForDisplay): Deleted.
(WebCore::primaryRendererID): Deleted.
- 12:37 PM Changeset in webkit [234376] by
-
- 30 edits5 deletes in trunk/Source
Source/WebCore:
Merge PlatformCookieJar functions into NetworkStorageSession
https://bugs.webkit.org/show_bug.cgi?id=188137
Patch by Rob Buis <rbuis@igalia.com> on 2018-07-30
Reviewed by Alex Christensen.
No new tests -- no change in WebKit functionality.
- PlatformMac.cmake: Remove CookieJarMac.mm reference
- SourcesCocoa.txt: Remove CookieJarMac.mm reference
- WebCore.xcodeproj/project.pbxproj:
- loader/CookieJar.cpp: Remove PlatformCookieJar.h reference.
- platform/Curl.cmake: Remove CookieJarCurl.cpp reference.
- platform/SourcesSoup.txt: Remove CookieJarSoup.cpp reference.
- platform/network/CacheValidation.cpp: Adapt callsites to use
NetworkStorageSession instead of CookieJar functions.
(WebCore::headerValueForVary):
- platform/network/NetworkStorageSession.h: Add PlatformCookieJar
functions.
- platform/network/PlatformCookieJar.h: Removed.
- platform/network/SocketStreamHandleImpl.cpp: Adapt callsites to
use NetworkStorageSession instead of CookieJar functions.
(WebCore::cookieDataForHandshake):
- platform/network/cf/CookieJarCFNet.cpp: Removed.
- platform/network/cf/NetworkStorageSessionCFNet.cpp: Move functions
from CookieJarCFNet.cpp.
(WebCore::cookieDomain):
(WebCore::canonicalCookieTime):
(WebCore::cookieCreatedTime):
(WebCore::cookieExpirationTime):
(WebCore::cookieName):
(WebCore::cookiePath):
(WebCore::cookieValue):
(WebCore::filterCookies):
(WebCore::copyCookiesForURLWithFirstPartyURL):
(WebCore::createCookies):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::containsSecureCookies):
(WebCore::NetworkStorageSession::cookiesForDOM const):
(WebCore::NetworkStorageSession::cookieRequestHeaderFieldValue const):
(WebCore::NetworkStorageSession::cookiesEnabled const):
(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::NetworkStorageSession::deleteCookie const):
(WebCore::NetworkStorageSession::getHostnamesWithCookies):
(WebCore::NetworkStorageSession::deleteAllCookies):
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
(WebCore::NetworkStorageSession::deleteAllCookiesModifiedSince):
- platform/network/cocoa/NetworkStorageSessionCocoa.mm: Move functions
from CookieJarMac.mm.
(WebCore::httpCookies):
(WebCore::deleteHTTPCookie):
(WebCore::policyProperties):
(WebCore::cookiesForURL):
(WebCore::setHTTPCookiesForURL):
(WebCore::httpCookiesForURL):
(WebCore::filterCookies):
(WebCore::applyPartitionToCookies):
(WebCore::cookiesAreBlockedForURL):
(WebCore::cookiesInPartitionForURL):
(WebCore::cookiesForSession):
(WebCore::deleteAllHTTPCookies):
(WebCore::NetworkStorageSession::cookiesForDOM const):
(WebCore::NetworkStorageSession::cookieRequestHeaderFieldValue const):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::httpCookieAcceptPolicy):
(WebCore::NetworkStorageSession::cookiesEnabled const):
(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::NetworkStorageSession::deleteCookie const):
(WebCore::NetworkStorageSession::getHostnamesWithCookies):
(WebCore::NetworkStorageSession::deleteAllCookies):
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
(WebCore::NetworkStorageSession::deleteAllCookiesModifiedSince):
- platform/network/curl/CookieJarCurl.cpp: Removed.
- platform/network/curl/CookieJarCurl.h:
- platform/network/curl/NetworkStorageSessionCurl.cpp: Merge functions
from CookieJarCurl.cpp.
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::cookiesEnabled const):
(WebCore::NetworkStorageSession::cookiesForDOM const):
(WebCore::NetworkStorageSession::deleteCookie const):
(WebCore::NetworkStorageSession::deleteAllCookies):
(WebCore::NetworkStorageSession::deleteAllCookiesModifiedSince):
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
(WebCore::NetworkStorageSession::getHostnamesWithCookies):
(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::NetworkStorageSession::cookieRequestHeaderFieldValue const):
- platform/network/mac/CookieJarMac.mm: Removed.
- platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
- platform/network/soup/CookieJarSoup.cpp: Removed.
- platform/network/soup/NetworkStorageSessionSoup.cpp: Merge functions
from CookieJarSoup.cpp.
(WebCore::NetworkStorageSession::cookiesEnabled const):
(WebCore::httpOnlyCookieExists):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::deleteCookie const):
(WebCore::NetworkStorageSession::deleteAllCookies):
(WebCore::NetworkStorageSession::deleteAllCookiesModifiedSince):
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
(WebCore::NetworkStorageSession::getHostnamesWithCookies):
(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::cookiesForSession):
(WebCore::NetworkStorageSession::cookiesForDOM const):
(WebCore::NetworkStorageSession::cookieRequestHeaderFieldValue const):
Source/WebKit:
https://bugs.webkit.org/show_bug.cgi?id=188137
Merge PlatformCookieJar functions into NetworkStorageSession
Adapt callsites to use NetworkStorageSession instead of CookieJar functions.
Patch by Rob Buis <rbuis@igalia.com> on 2018-07-30
Reviewed by Alex Christensen.
- NetworkProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::getHostnamesWithCookies):
(WebKit::WebCookieManager::deleteCookiesForHostname):
(WebKit::WebCookieManager::deleteAllCookies):
(WebKit::WebCookieManager::deleteAllCookiesModifiedSince):
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
(WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
(WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
(WebKit::NetworkConnectionToWebProcess::getRawCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookie):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::logCookieInformationInternal):
- NetworkProcess/cache/NetworkCache.cpp:
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
Source/WebKitLegacy/mac:
Merge PlatformCookieJar functions into NetworkStorageSession
https://bugs.webkit.org/show_bug.cgi?id=188137
Adapt callsites to use NetworkStorageSession instead of CookieJar functions.
Patch by Rob Buis <rbuis@igalia.com> on 2018-07-30
Reviewed by Alex Christensen.
- WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::cookiesForDOM):
(WebPlatformStrategies::setCookiesFromDOM):
(WebPlatformStrategies::cookiesEnabled):
(WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebPlatformStrategies::getRawCookies):
(WebPlatformStrategies::deleteCookie):
- WebView/WebPreferences.mm:
(+[WebPreferences _clearNetworkLoaderSession]):
Source/WebKitLegacy/win:
https://bugs.webkit.org/show_bug.cgi?id=188137
Merge PlatformCookieJar functions into NetworkStorageSession
Adapt callsites to use NetworkStorageSession instead of CookieJar functions.
Patch by Rob Buis <rbuis@igalia.com> on 2018-07-30
Reviewed by Alex Christensen.
- WebCoreSupport/WebPlatformStrategies.cpp:
(WebPlatformStrategies::cookiesForDOM):
(WebPlatformStrategies::setCookiesFromDOM):
(WebPlatformStrategies::cookiesEnabled):
(WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebPlatformStrategies::getRawCookies):
(WebPlatformStrategies::deleteCookie):
- WebPreferences.cpp:
(WebPreferences::clearNetworkLoaderSession):
- 12:12 PM Changeset in webkit [234375] by
-
- 5 edits in trunk/Source/WebKit
Add RefCounted CompletionHandler wrapping abstraction for sending policy decisions back to WebProcess
https://bugs.webkit.org/show_bug.cgi?id=188089
Reviewed by Geoffrey Garen and Said Abou-Hallawa.
This will be necessary for when I add an asynchronous parallel step to decidePolicyForNavigationAction.
We will want to wait for that asynchronous step for decidePolicyForNavigationActionSync but not for a client.
No change in behavior.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::PolicyDecisionSender::create):
(WebKit::WebPageProxy::PolicyDecisionSender::operator()):
(WebKit::WebPageProxy::PolicyDecisionSender::PolicyDecisionSender):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationActionAsync):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNavigationActionSync):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- 11:17 AM Changeset in webkit [234374] by
-
- 25 edits2 adds in trunk
Nullptr crash accessing Document in GenericEventQueue::dispatchOneEvent()
https://bugs.webkit.org/show_bug.cgi?id=187284
Unreviewed, roll r233496 and r233571 now that all known issues have been fixed via
dependency bugs.
Source/WebCore:
Test: media/track/video-track-addition-and-frame-removal.html
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
(WebCore::WebKitMediaKeySession::suspend):
(WebCore::WebKitMediaKeySession::resume):
(WebCore::WebKitMediaKeySession::stop):
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.h:
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::removeSourceBuffer):
(WebCore::MediaSource::suspend):
(WebCore::MediaSource::resume):
- Modules/mediasource/MediaSource.h:
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::suspend):
(WebCore::SourceBuffer::resume):
(WebCore::SourceBuffer::stop):
- Modules/mediasource/SourceBuffer.h:
- Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList::SourceBufferList):
(WebCore::SourceBufferList::canSuspendForDocumentSuspension const):
(WebCore::SourceBufferList::suspend):
(WebCore::SourceBufferList::resume):
(WebCore::SourceBufferList::stop):
(WebCore::SourceBufferList::activeDOMObjectName const):
- Modules/mediasource/SourceBufferList.h:
- Modules/mediasource/SourceBufferList.idl:
- dom/Document.h:
(WebCore::Document::hasBrowsingContext const):
- dom/GenericEventQueue.cpp:
(WebCore::GenericEventQueue::dispatchOneEvent):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::prepareForLoad):
(WebCore::HTMLMediaElement::selectMediaResource):
(WebCore::HTMLMediaElement::prepareToPlay):
(WebCore::HTMLMediaElement::playInternal):
(WebCore::HTMLMediaElement::pauseInternal):
(WebCore::HTMLMediaElement::sourceWasAdded):
- html/track/AudioTrackList.cpp:
(AudioTrackList::activeDOMObjectName const):
- html/track/AudioTrackList.h:
- html/track/AudioTrackList.idl:
- html/track/TextTrackList.cpp:
(TextTrackList::activeDOMObjectName const):
- html/track/TextTrackList.h:
- html/track/TextTrackList.idl:
- html/track/TrackListBase.cpp:
(WebCore::TrackListBase::TrackListBase):
(WebCore::TrackListBase::canSuspendForDocumentSuspension const):
(WebCore::TrackListBase::suspend):
(WebCore::TrackListBase::resume):
(WebCore::TrackListBase::stop):
- html/track/TrackListBase.h:
- html/track/VideoTrackList.cpp:
(VideoTrackList::activeDOMObjectName const):
- html/track/VideoTrackList.h:
- html/track/VideoTrackList.idl:
LayoutTests:
- media/track/video-track-addition-and-frame-removal-expected.txt: Added.
- media/track/video-track-addition-and-frame-removal.html: Added.
- 10:16 AM Changeset in webkit [234373] by
-
- 2 edits in branches/safari-606-branch/Source/WebKit
Cherry-pick r234369. rdar://problem/42736179
Potential null dereference under WebPage::applicationDidBecomeActive()
https://bugs.webkit.org/show_bug.cgi?id=188170
<rdar://problem/37493418>
Reviewed by Wenson Hsieh.
WebPage::m_page gets nulled out when the page is closed but the WebPage object may receive IPC
until it gets destroyed. Therefore, we need to null-check m_page before using it in IPC message
handlers.
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::applicationDidEnterBackground): (WebKit::WebPage::applicationWillEnterForeground): (WebKit::WebPage::applicationDidBecomeActive):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234369 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:16 AM Changeset in webkit [234372] by
-
- 2 edits in branches/safari-606-branch/Source/WebCore
Cherry-pick r234339. rdar://problem/42736275
[iOS] Don't deactivate audio session
https://bugs.webkit.org/show_bug.cgi?id=188127
<rdar://problem/42544143>
Reviewed by Jon Lee.
r233435 includes a change that deactivates the shared audio session when there are no more
active media sessions. This is a good in WK2 because it allows other applications to resume
playing audio when WebKit stops playing, but it is potentially bad in WK1 where the host
app may also be playing audio.
- platform/audio/PlatformMediaSessionManager.cpp: (WebCore::PlatformMediaSessionManager::removeSession): Don't deactivate the audio session.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:14 AM Changeset in webkit [234371] by
-
- 5 edits in trunk/Source/WebKit
Unreviewed, rolling out r234327.
Caused 2 crashes on macOS and iOS debug API tests
Reverted changeset:
"Add RefCounted CompletionHandler wrapping abstraction for
sending policy decisions back to WebProcess"
https://bugs.webkit.org/show_bug.cgi?id=188089
https://trac.webkit.org/changeset/234327
- 9:53 AM Changeset in webkit [234370] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed internal build fix after r234347.
- html/StepRange.cpp:
(WebCore::StepRange::StepRange):
- 9:50 AM Changeset in webkit [234369] by
-
- 2 edits in trunk/Source/WebKit
Potential null dereference under WebPage::applicationDidBecomeActive()
https://bugs.webkit.org/show_bug.cgi?id=188170
<rdar://problem/37493418>
Reviewed by Wenson Hsieh.
WebPage::m_page gets nulled out when the page is closed but the WebPage object may receive IPC
until it gets destroyed. Therefore, we need to null-check m_page before using it in IPC message
handlers.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::applicationDidEnterBackground):
(WebKit::WebPage::applicationWillEnterForeground):
(WebKit::WebPage::applicationDidBecomeActive):
- 9:36 AM Changeset in webkit [234368] by
-
- 4 edits in trunk/Source/WebCore
Shrink GraphicsLayer by making m_transform and m_childrenTransform be unique_ptrs
https://bugs.webkit.org/show_bug.cgi?id=188143
Reviewed by Zalan Bujtas.
m_transform and m_childrenTransform are usually identity; save space by making
these unique_ptrs. The getters still return references by returning a reference
to a NeverDestroyed<TransformationMatrix> if necessary.
Shrinks GraphicsLayerCA from 840 to 640 bytes.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::identityTransform):
(WebCore::GraphicsLayer::transform const):
(WebCore::GraphicsLayer::setTransform):
(WebCore::GraphicsLayer::childrenTransform const):
(WebCore::GraphicsLayer::setChildrenTransform):
(WebCore::GraphicsLayer::dumpProperties const):
- platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::hasNonIdentityTransform const):
(WebCore::GraphicsLayer::hasNonIdentityChildrenTransform const):
(WebCore::GraphicsLayer::transform const): Deleted.
(WebCore::GraphicsLayer::setTransform): Deleted.
(WebCore::GraphicsLayer::childrenTransform const): Deleted.
(WebCore::GraphicsLayer::setChildrenTransform): Deleted.
(WebCore::GraphicsLayer::hasFlattenedPerspectiveTransform): Deleted. It was unused.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setTransform):
(WebCore::GraphicsLayerCA::setChildrenTransform):
(WebCore::GraphicsLayerCA::layerTransform const):
(WebCore::GraphicsLayerCA::updateTransform):
(WebCore::GraphicsLayerCA::updateChildrenTransform):
(WebCore::GraphicsLayerCA::removeCAAnimationFromLayer):
- 8:56 AM Changeset in webkit [234367] by
-
- 2 edits in trunk/LayoutTests
[Win] Layout test http/tests/security/canvas-remote-read-remote-video-hls.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=188169
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:50 AM Changeset in webkit [234366] by
-
- 2 edits in trunk/LayoutTests
[Win] Layout test fast/text/complex-first-glyph-with-initial-advance.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=188168
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:36 AM Changeset in webkit [234365] by
-
- 2 edits in trunk/LayoutTests
[Win] Layout test fast/repaint/canvas-object-fit.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=188167
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:25 AM Changeset in webkit [234364] by
-
- 2 edits in trunk/LayoutTests
[Win] Layout test webanimations/accessing-current-time-after-clearing-css-animation-effect.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=188166
Unreviewed test gardening.
- platform/win/TestExpectations:
- 7:46 AM Changeset in webkit [234363] by
-
- 5 edits in trunk/Source/JavaScriptCore
Add a debugging utility to dump the memory layout of a JSCell.
https://bugs.webkit.org/show_bug.cgi?id=188157
Reviewed by Yusuke Suzuki.
This patch adds $vm.dumpCell() and VMInspector::dumpCellMemory() to allow us to
dump the memory contents of a cell and if present, its butterfly for debugging
purposes.
Example usage for JS code when JSC_useDollarVM=true:
$vm.dumpCell(obj);
Example usage from C++ code or from lldb:
(lldb) p JSC::VMInspector::dumpCellMemory(obj)
Some examples of dumps:
<0x104bc8260, Object>
[0] 0x104bc8260 : 0x010016000000016c header
structureID 364 0x16c structure 0x104b721b0
indexingTypeAndMisc 0 0x0 NonArray
type 22 0x16
flags 0 0x0
cellState 1
[1] 0x104bc8268 : 0x0000000000000000 butterfly
[2] 0x104bc8270 : 0xffff000000000007
[3] 0x104bc8278 : 0xffff000000000008
<0x104bb4360, Array>
[0] 0x104bb4360 : 0x0108210b00000171 header
structureID 369 0x171 structure 0x104b723e0
indexingTypeAndMisc 11 0xb ArrayWithArrayStorage
type 33 0x21
flags 8 0x8
cellState 1
[1] 0x104bb4368 : 0x00000008000f4718 butterfly
base 0x8000f46e0
hasIndexingHeader YES hasAnyArrayStorage YES
publicLength 4 vectorLength 7 indexBias 2
preCapacity 2 propertyCapacity 4
<--- preCapacity
[0] 0x8000f46e0 : 0x0000000000000000
[1] 0x8000f46e8 : 0x0000000000000000
<--- propertyCapacity
[2] 0x8000f46f0 : 0x0000000000000000
[3] 0x8000f46f8 : 0x0000000000000000
[4] 0x8000f4700 : 0xffff00000000000d
[5] 0x8000f4708 : 0xffff00000000000c
<--- indexingHeader
[6] 0x8000f4710 : 0x0000000700000004
<--- butterfly
<--- arrayStorage
[7] 0x8000f4718 : 0x0000000000000000
[8] 0x8000f4720 : 0x0000000400000002
<--- indexedProperties
[9] 0x8000f4728 : 0xffff000000000008
[10] 0x8000f4730 : 0xffff000000000009
[11] 0x8000f4738 : 0xffff000000000005
[12] 0x8000f4740 : 0xffff000000000006
[13] 0x8000f4748 : 0x0000000000000000
[14] 0x8000f4750 : 0x0000000000000000
[15] 0x8000f4758 : 0x0000000000000000
<--- unallocated capacity
[16] 0x8000f4760 : 0x0000000000000000
[17] 0x8000f4768 : 0x0000000000000000
[18] 0x8000f4770 : 0x0000000000000000
[19] 0x8000f4778 : 0x0000000000000000
- runtime/JSObject.h:
- tools/JSDollarVM.cpp:
(JSC::functionDumpCell):
(JSC::JSDollarVM::finishCreation):
- tools/VMInspector.cpp:
(JSC::VMInspector::dumpCellMemory):
(JSC::IndentationScope::IndentationScope):
(JSC::IndentationScope::~IndentationScope):
(JSC::VMInspector::dumpCellMemoryToStream):
- tools/VMInspector.h:
- 6:06 AM Changeset in webkit [234362] by
-
- 6 edits in trunk
[GStreamer] Make codecparsers optionnal
https://bugs.webkit.org/show_bug.cgi?id=188010
And avoid building libWebRTC if it won't be used. While there is no other
WebRTC backend, it makes no sense to expose an option.
Error out when WEBRTC or MEDIA_STREAM is enabled but GStreamer < 1.10
Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-30
Reviewed by Alejandro G. Castro.
.:
- Source/cmake/GStreamerChecks.cmake:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Source/WebCore:
- platform/GStreamer.cmake:
- 4:31 AM Changeset in webkit [234361] by
-
- 2 edits in trunk/LayoutTests
Unreviewed WPE gardening. Adding and adjusting a bunch of expectations
to cover various ASSERT crashers.
- platform/wpe/TestExpectations:
- 1:16 AM Changeset in webkit [234360] by
-
- 2 edits2 adds in trunk/LayoutTests
Unreviewed WPE gardening.
Adding two WPE-specific test baselines. Adjusting or adding a few
additional test expectations.
- platform/wpe/TestExpectations:
- platform/wpe/webgl/2.0.0/conformance2/glsl3/shader-with-mis-matching-uniform-block-expected.txt: Added.
- platform/wpe/webgl/2.0.0/conformance2/glsl3/texture-offset-out-of-range-expected.txt: Added.
Jul 29, 2018:
- 11:40 PM Changeset in webkit [234359] by
-
- 2 edits in trunk/LayoutTests
[Curl] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=188155
Unreviewed test gardening.
- platform/wincairo/TestExpectations:
- 11:33 PM Changeset in webkit [234358] by
-
- 2 edits in branches/safari-606-branch/Source/WebKit
Cherry-pick r234349. rdar://problem/42721129
[Wi-Fi Assertions] Pass a ResumptionReason to resumeWiFiAssertions
https://bugs.webkit.org/show_bug.cgi?id=188142
<rdar://problem/42628842>
Reviewed by Darin Adler.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformProcessDidResume): (WebKit::NetworkProcess::platformProcessDidTransitionToForeground):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:28 PM Changeset in webkit [234357] by
-
- 2 edits in branches/safari-606-branch/Source/WebCore
Cherry-pick r234345. rdar://problem/42721217
Reset CompositingPolicyOverride between tests
https://bugs.webkit.org/show_bug.cgi?id=188138
Reviewed by Zalan Bujtas.
WK1 tests were failing after r234330 because the compositing policy override optional
was left set on the Page (WK1 has injected bundle SPI to clear it). Fix by having
Internals::resetToConsistentState clear this state.
- testing/Internals.cpp: (WebCore::Internals::resetToConsistentState):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:28 PM Changeset in webkit [234356] by
-
- 6 edits2 adds in branches/safari-606-branch
Cherry-pick r234340. rdar://problem/42721208
Adjust the color matrix for the inverse apple-invert-lightness() transformation
https://bugs.webkit.org/show_bug.cgi?id=188131
rdar://problem/42673070
Reviewed by Zalan Bujtas.
Source/WebCore:
Use the correct inverse matrix values.
Test: editing/style/inverse-color-filter.html
- platform/graphics/filters/FilterOperation.cpp: (WebCore::InvertLightnessFilterOperation::inverseTransformColor const):
LayoutTests:
Rebaseline tests that use the filter inversion. Add a new test that does inversion
for a whole range of colors, to get good coverage of the inversion matrix.
- editing/style/inverse-color-filter-expected.txt: Added.
- editing/style/inverse-color-filter.html: Added.
- editing/style/set-backColor-with-color-filter-expected.txt:
- editing/style/set-foreColor-with-color-filter-expected.txt:
- platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234340 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:28 PM Changeset in webkit [234355] by
-
- 25 edits2 adds in branches/safari-606-branch
Cherry-pick r234330. rdar://problem/42721217
Be more conservative with compositing layer creation when memory is low
https://bugs.webkit.org/show_bug.cgi?id=187866
rdar://problem/42366345
Reviewed by Zalan Bujtas.
Source/WebCore:
When process physical footprint is above a fraction of the jetsam limit, be more conservative in making
compositing layers. We avoid compositing for these situations:
- Layers with 3D transforms which are affine (like translateZ(0)).
- Layers with will-change
- Layers for canvases (other than WebGL/WebGPU)
We reuse some macOS code in MemoryPressureHandler() but choose different thresholds for iOS,
falling into "conservative mode" at 50% of jetsam limit, and "strict mode" at 65%.
Compositing chooses to be more conservative in either "conservative" or "strict" memory modes.
Plumb through a "compositingPolicyOverride" both so that on-device testing isn't
flakily falling into a different mode, and so that we can impose the conservative
mode for testing.
Test: compositing/layer-creation/compositing-policy.html
- page/Page.h: (WebCore::Page::compositingPolicyOverride const): (WebCore::Page::setCompositingPolicyOverride):
- platform/graphics/transforms/Matrix3DTransformOperation.cpp: (WebCore::Matrix3DTransformOperation::isRepresentableIn2D const):
- platform/graphics/transforms/Matrix3DTransformOperation.h:
- platform/graphics/transforms/PerspectiveTransformOperation.h:
- platform/graphics/transforms/RotateTransformOperation.h:
- platform/graphics/transforms/ScaleTransformOperation.h:
- platform/graphics/transforms/TransformOperation.h: (WebCore::TransformOperation::isRepresentableIn2D const):
- platform/graphics/transforms/TransformOperations.h: (WebCore::TransformOperations::has3DOperation const): (WebCore::TransformOperations::isRepresentableIn2D const):
- platform/graphics/transforms/TranslateTransformOperation.h:
- rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateGeometry):
- rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags): (WebCore::RenderLayerCompositor::updateCompositingPolicy): (WebCore::RenderLayerCompositor::updateCompositingLayers): (WebCore::RenderLayerCompositor::requiresCompositingForTransform const): (WebCore::RenderLayerCompositor::requiresCompositingForVideo const): (WebCore::RenderLayerCompositor::requiresCompositingForCanvas const): (WebCore::RenderLayerCompositor::requiresCompositingForPlugin const): (WebCore::RenderLayerCompositor::requiresCompositingForWillChange const): (WebCore::RenderLayerCompositor::needsFixedRootBackgroundLayer const): (WebCore::operator<<):
- rendering/RenderLayerCompositor.h:
- testing/Internals.cpp: (WebCore::Internals::setCompositingPolicyOverride): (WebCore::Internals::compositingPolicyOverride const):
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
When process physical footprint is above a fraction of the jetsam limit, be more conservative in making
compositing layers. We avoid compositing for these situations:
- Layers with 3D transforms which are affine (like translateZ(0)).
- Layers with will-change
- Layers for canvases (other than WebGL/WebGPU)
We reuse some macOS code in MemoryPressureHandler() but choose different thresholds for iOS,
falling into "conservative mode" at 50% of jetsam limit, and "strict mode" at 65%.
Compositing chooses to be more conservative in either "conservative" or "strict" memory modes.
Plumb through a "compositingPolicyOverride" both so that on-device testing isn't
flakily falling into a different mode, and so that we can impose the conservative
mode for testing.
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: (WKBundlePageSetCompositingPolicyOverride):
- WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
Source/WTF:
When process physical footprint is above a fraction of the jetsam limit, be more conservative in making
compositing layers. We avoid compositing for these situations:
- Layers with 3D transforms which are affine (like translateZ(0)).
- Layers with will-change
- Layers for canvases (other than WebGL/WebGPU)
We reuse some macOS code in MemoryPressureHandler() but choose different thresholds for iOS,
falling into "conservative mode" at 50% of jetsam limit, and "strict mode" at 65%.
Compositing chooses to be more conservative in either "conservative" or "strict" memory modes.
Plumb through a "compositingPolicyOverride" both so that on-device testing isn't
flakily falling into a different mode, and so that we can impose the conservative
mode for testing.
- wtf/MemoryPressureHandler.cpp: (WTF::thresholdForPolicy): (WTF::MemoryPressureHandler::currentMemoryUsagePolicy):
- wtf/MemoryPressureHandler.h:
Tools:
When process physical footprint is above a fraction of the jetsam limit, be more conservative in making
compositing layers. We avoid compositing for these situations:
- Layers with 3D transforms which are affine (like translateZ(0)).
- Layers with will-change
- Layers for canvases (other than WebGL/WebGPU)
We reuse some macOS code in MemoryPressureHandler() but choose different thresholds for iOS,
falling into "conservative mode" at 50% of jetsam limit, and "strict mode" at 65%.
Compositing chooses to be more conservative in either "conservative" or "strict" memory modes.
Plumb through a "compositingPolicyOverride" both so that on-device testing isn't
flakily falling into a different mode, and so that we can impose the conservative
mode for testing.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::prepare):
LayoutTests:
- compositing/layer-creation/compositing-policy-expected.txt: Added.
- compositing/layer-creation/compositing-policy.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:28 PM Changeset in webkit [234354] by
-
- 4 edits in branches/safari-606-branch
Cherry-pick r234329. rdar://problem/42721126
[WK1] ASSERTION FAILED: renderer().repaintLayoutRects().m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint()) in WebCore::RenderLayer::updateLayerPositionsAfterScroll
https://bugs.webkit.org/show_bug.cgi?id=188122
<rdar://problem/42584790>
Reviewed by Simon Fraser.
Source/WebCore:
When ScrollView's m_paintsEntireContents flag flips due to layer backing changes, the repaint area transitions from
visual to layout overflow. When this happens the cached repaint rects become invalid and they need to be recomputed.
Currently there's no mechanism to trigger repaint cache invalidation from ScrollView.
Skip assertion for now on WK1 (see webkit.org/b/188121)
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
LayoutTests:
- platform/mac-wk1/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:28 PM Changeset in webkit [234353] by
-
- 2 edits in branches/safari-606-branch/Source/bmalloc
Cherry-pick r234328. rdar://problem/42721215
Explicitly handle memlimit_active < 0
https://bugs.webkit.org/show_bug.cgi?id=188125
Reviewed by Mark Lam.
This may come up during development when someone wants the limit
to be "infinite".
- bmalloc/AvailableMemory.cpp: (bmalloc::jetsamLimit):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:28 PM Changeset in webkit [234352] by
-
- 7 edits1 add in branches/safari-606-branch/Source
Cherry-pick r234326. rdar://problem/42721215
Use SPI to compute the jetsam limit on iOS instead of hardcoding 840MB
https://bugs.webkit.org/show_bug.cgi?id=188091
<rdar://problem/42647697>
Reviewed by Simon Fraser.
Source/bmalloc:
We want bmalloc to dynamically adapt to the jetsam limit of the process
it's running in. WTF::ramSize() is based off bmalloc's availableMemory,
so it will now reflect the result of the real jetsam limit when we can
read it.
Reading the jetsam limit requires an entitlement, so this patch opts in
the WebContent/Storage/Network processes. We fall back to 840MB (the
old hard coded value) when the SPI call fails (e.g, when we're in a
process without the proper entitlement).
- bmalloc.xcodeproj/project.pbxproj:
- bmalloc/AvailableMemory.cpp: (bmalloc::jetsamLimit): (bmalloc::computeAvailableMemory):
- bmalloc/darwin/MemoryStatusSPI.h: Added.
Source/WebKit:
Give the Network/Storage/WebContent process the com.apple.private.memorystatus
entitlement. This allows them to read the process jetsam limit.
- Configurations/Databases-iOS.entitlements:
- Configurations/Network-iOS.entitlements:
- Configurations/WebContent-iOS.entitlements:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:27 PM Changeset in webkit [234351] by
-
- 9 edits in branches/safari-606-branch
Cherry-pick r234125. rdar://problem/42721214
CrashTracer: com.apple.WebKit.Storage at WebCore: WebCore::encodeKey
https://bugs.webkit.org/show_bug.cgi?id=187927
LayoutTests/imported/w3c:
<rdar://problem/42516426>
Reviewed by Chris Dumez.
- web-platform-tests/IndexedDB/key-conversion-exceptions-expected.txt:
Source/WebCore:
Reviewed by Chris Dumez.
IDBKeyData is valid only when each key of it is valid.
Test: LayoutTests/storage/indexeddb/index-multientry.html
- Modules/indexeddb/IDBKeyData.cpp: (WebCore::IDBKeyData::isValid const):
- Modules/indexeddb/IDBKeyData.h: (WebCore::IDBKeyData::isValid const): Deleted.
LayoutTests:
<rdar://problem/42516426>
Reviewed by Chris Dumez.
Add a new test case in existing test file to cover the crash case and update the expecation accordingly.
- storage/indexeddb/index-multientry-expected.txt:
- storage/indexeddb/index-multientry-private-expected.txt:
- storage/indexeddb/resources/index-multientry.js: (addData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234125 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:39 PM Changeset in webkit [234350] by
-
- 2 edits in trunk/Source/WebKit
Fix incorrect guards around a method declaration in PageClient.h
https://bugs.webkit.org/show_bug.cgi?id=188153
Reviewed by Tim Horton.
WebCore::DragItem
is forward declared underENABLE(DRAG_SUPPORT)
, butstartDrag
is declared under
PLATFORM(COCOA)
. IfENABLE(DRAG_SUPPORT)
is off butPLATFORM(COCOA)
is on, the build breaks.
We fix this by moving
startDrag
underENABLE(DRAG_SUPPORT)
.
- UIProcess/PageClient.h:
(WebKit::PageClient::startDrag):
- 3:13 PM Changeset in webkit [234349] by
-
- 2 edits in trunk/Source/WebKit
[Wi-Fi Assertions] Pass a ResumptionReason to resumeWiFiAssertions
https://bugs.webkit.org/show_bug.cgi?id=188142
<rdar://problem/42628842>
Reviewed by Darin Adler.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformProcessDidResume):
(WebKit::NetworkProcess::platformProcessDidTransitionToForeground):
- 2:45 PM Changeset in webkit [234348] by
-
- 46 edits in trunk/Source
[Cocoa] Update more WebCore Objective-C code to be ARC compatible
https://bugs.webkit.org/show_bug.cgi?id=188140
Reviewed by Sam Weinig.
Source/WebCore:
This make sure we don't put any Objective-C objects into HashMap/Set
data structures, which doesn't work under ARC at this time. We could
fix that some day, but it's pretty simple to change code not to rely
on it, for now, and not as simple to support it in HashMap/Set.
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase updateObjectBackingStore]):
Use CFRetain/CFAutorelease instead of retain/autorelease.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap): Use CFStringRef in a HashMap rather than
NSString * for string constants.
(roleValueToNSString): Updated for above change.
- bridge/objc/WebScriptObject.mm:
(-[WebScriptObject stringRepresentation]): Updated since objectValue
is now CFTypeRef rather than NSObject *.
- bridge/objc/objc_instance.mm:
(ObjcInstance::create): Use CFTypeRef instead of id for the key types
in a HashMap.
(ObjcInstance::~ObjcInstance): Updated for the above change.
(ObjcInstance::invokeObjcMethod): Updated since objectValue is now
CFTypeRef.
(ObjcInstance::invokeDefaultMethod): Ditto.
(ObjcInstance::setValueOfUndefinedField): Ditto.
- bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcArray::setValueAt const): Ditto.
- bridge/objc/objc_utility.h: Use #pragma once. Use CFTypeRef instead
of NSObject * for objectValue, since it's in a union and ARC does not
support strong Objective-C object pointers in a union.
- bridge/objc/objc_utility.mm:
(JSC::Bindings::convertValueToObjcValue): Updated since objectValue is
now CFTypeRef.
- editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_processElement): Use CFTypeRef rather than NSTextTable
for a HashMap.
(HTMLConverter::_exitElement): Ditto.
- editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::attributesForAttributedStringConversion): Use CFRetain rather
than -[NSObject retain] in a workaround for an overrelease.
- editing/mac/DictionaryLookup.h: Removed code to make this usable from
non-Objective-C source files. Use tuples rather than out arguments
for the results of the various functions.
- editing/mac/DictionaryLookup.mm:
(WebCore::DictionaryLookup::rangeForSelection): Return a tuple rather
than using an out argument for options.
(WebCore::DictionaryLookup::rangeAtHitTestResult): Ditto.
(WebCore::DictionaryLookup::stringForPDFSelection): Ditto.
(WebCore::showPopupOrCreateAnimationController): Removed use of typedef
PlatformAnimationController.
(WebCore::DictionaryLookup::animationControllerForPopup): Ditto.
- html/HTMLMediaElement.h: Put the videoFullscreenLayer function inside
an OBJC ifdef since we can't do the type conversion without the
full Objective-C type.
- page/mac/EventHandlerMac.mm:
(WebCore::selfRetainingNSScrollViewScrollWheel): Use CFRetain/CFRelease
instead of retain/release.
(WebCore::EventHandler::selectClosestWordFromHitTestResultBasedOnLookup):
Updated to use tuple return value from DictionaryLookup.
- page/scrolling/ScrollingStateNode.h: Replaced direct use of PlatformLayer*
in a union with use of a "typless" void* pointer and added helper functions
to convert in both directions.
- page/scrolling/cocoa/ScrollingStateNode.mm:
(WebCore::LayerRepresentation::retainPlatformLayer): Use CFRetain instead
of retain.
(WebCore::LayerRepresentation::releasePlatformLayer): Use CFRelease instead
of release.
(WebCore::LayerRepresentation::makePlatformLayerTyped): Added.
(WebCore::LayerRepresentation::makePlatformLayerTypeless): Ditto.
- page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp:
(WebCore::LayerRepresentation::retainPlatformLayer): Updated argument type.
(WebCore::LayerRepresentation::releasePlatformLayer): Ditto.
(WebCore::LayerRepresentation::makePlatformLayerTyped): Added.
(WebCore::LayerRepresentation::makePlatformLayerTypeless): Ditto.
- platform/gamepad/cocoa/GameControllerGamepadProvider.h: Use CFTypeRef
instad of GCController * for key type of HashMap.
- platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
(WebCore::GameControllerGamepadProvider::controllerDidConnect): Updated
for the above change.
(WebCore::GameControllerGamepadProvider::controllerDidDisconnect): Ditto.
- platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
Use SOFT_LINK_CONSTANT_MAY_FAIL instead of SOFT_LINK_POINTER_OPTIONAL for
strings, since SOFT_LINK_POINTER_OPTIONAL does not work for Objective-C
types under ARC.
(WebCore::AVTrackPrivateAVFObjCImpl::audioKind const): Added checks
for the constants.
(WebCore::AVTrackPrivateAVFObjCImpl::videoKind const): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::label const): Ditto.
- platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h:
Use #pragma once and use CFTypeRef instead of AVMediaSelectionOption *
in the key to a HashMap.
- platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:
(WebCore::MediaSelectionGroupAVFObjC::updateOptions): Updated for
the above change.
- platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
Use SOFT_LINK_CONSTANT_MAY_FAIL instead of SOFT_LINK_POINTER_OPTIONAL for
strings, since SOFT_LINK_POINTER_OPTIONAL does not work for Objective-C
types under ARC.
(WebCore::customSchemeURL): Removed unnecessary use of
NeverDestroyed<RetainPtr>. Can just use a straight pointer without calling
release, and that works with or without ARC.
(WebCore::imageDecoderAssetOptions): Ditto. Here, had to add a retain,
which we'll remove when we turn on ARC. Added canLoad checks, needed
because of SOFT_LINK_CONSTANT_MAY_FAIL.
(WebCore::ImageDecoderAVFObjC::firstEnabledTrack): Added canLoad check,
needed because of SOFT_LINK_CONSTANT_MAY_FAIL.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
Use CFTypeRef instead of AVAssetResourceLoadingRequest in HashMap.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
Updated for above.
(WebCore::MediaPlayerPrivateAVFoundationObjC::didCancelLoadingRequest): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::didStopLoadingRequest): Ditto.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
Use CFTypeRef instead of AVSampleBufferAudioRenderer in HashMap.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVolume): Updated for above.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setMuted): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setPreservesPitch): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setHasAvailableAudioSample): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer): Ditto.
- platform/graphics/metal/GPUDrawableMetal.mm: Updated include; under ARC, it's
not safe to call a method on a class without seeing its interface.
- platform/mac/VideoFullscreenInterfaceMac.mm: Added an explicit
unsafe_unretained for a delegate. Could consider moving to weak, but for now
this preserves the current behavior and compiles under ARC.
- platform/mac/WebCoreFullScreenPlaceholderView.h: Use strong for the contents,
weak for the target, and changed the action to be hard-coded instead of an
arbitrary selector. If we find we need the flexibility again later, we can do
it with a block, which is more ARC-friendly than calling an arbitrary selector.
- platform/mac/WebCoreFullScreenPlaceholderView.mm:
(-[WebCoreFullScreenPlaceholderView initWithFrame:]): Call function directly
instead of taking advantage of "using".
(-[WebCoreFullScreenPlaceholderView mouseDown:]): Call cancelOperation: on the
target rather than performing an arbitrary selector.
- platform/mac/WebCoreObjCExtras.mm:
(WebCoreObjCScheduleDeallocateOnMainThread): Use sel_registerName instead of
@selector, since @selector is not supported under ARC.
- platform/network/ResourceHandle.h: Use a return value rather than using an
inout argument in applySniffingPoliciesAndStoragePartitionIfNeeded.
- platform/network/cocoa/CookieStorageObserver.mm:
(WebCore::CookieStorageObserver::startObserving): Removed unnecessary
assertion of repondsToSelector since we are about to dispatch it immediately
after. Call the selector in the conventional way instead of using performSelector.
- platform/network/cocoa/WebCoreNSURLSession.h: Use #pragma once and use
CFTypeRef instead of an Objective-C type. Also use an explicit unsafe_unretained
for the session in the data task.
- platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSession dealloc]): Updated for the above.
(-[WebCoreNSURLSession taskCompleted:]): Ditto.
(-[WebCoreNSURLSession invalidateAndCancel]): Ditto.
(-[WebCoreNSURLSession getTasksWithCompletionHandler:]): Ditto.
(-[WebCoreNSURLSession getAllTasksWithCompletionHandler:]): Ditto.
(-[WebCoreNSURLSession dataTaskWithRequest:]): Ditto.
(-[WebCoreNSURLSession dataTaskWithURL:]): Ditto.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::applySniffingPoliciesAndStoragePartitionIfNeeded):
Use a return value instead of an inout argument. Also use bridging casts.
(WebCore::ResourceHandle::createNSURLConnection): Updated for the change above.
Also use a bridging cast.
(WebCore::ResourceHandle::schedule): Use a bridging cast.
(WebCore::ResourceHandle::unschedule): Ditto.
- platform/network/mac/WebCoreURLResponse.mm:
(WebCore::adjustMIMETypeIfNecessary): Use a bridging cast.
- testing/Internals.cpp:
(WebCore::Internals::rangeForDictionaryLookupAtLocation): Moved the macOS
version of this function out of this file ...
- testing/Internals.mm:
(WebCore::Internals::rangeForDictionaryLookupAtLocation): ... to here.
Source/WebKit:
- UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController enterFullScreen:]): Removed the call to
setAction: since the full screen placeholder view now always uses the
cancelOperation: method.
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::lookupTextAtLocation): Updated to use the new
DictionaryLookup function that returns a tuple instead of using an out argument.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performDictionaryLookupAtLocation): Ditto.
(WebKit::WebPage::performDictionaryLookupForSelection): Ditto.
Source/WebKitLegacy/mac:
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _animationControllerForText]): Updated to use the
new DictionaryLookup function that returns a tuple instead of using an out argument.
- 11:13 AM Changeset in webkit [234347] by
-
- 13 edits in trunk/Source/WebCore
Use static global variables instead of static NeverDestroyed inside function if possible
https://bugs.webkit.org/show_bug.cgi?id=188146
Reviewed by Darin Adler.
This patch leverages constexpr constructors / trivial destructors more to remove unnecessary
static NeverDestroyed
inside a function. It simplifies the code, removes the unnecessary function, and ensures the initialization at
a program loader phase.
We make StepRange::StepDescription constructor constexpr to remove bunch of
static NeverDestroyed<const StepRange::StepDescription>
.
And we usestatic Lock
since WTF::Lock has constexpr constructor.
No behavior change.
- dom/MessagePort.cpp:
(WebCore::MessagePort::deref const):
(WebCore::MessagePort::isExistingMessagePortLocallyReachable):
(WebCore::MessagePort::notifyMessageAvailable):
(WebCore::MessagePort::MessagePort):
(WebCore::MessagePort::~MessagePort):
(WebCore::allMessagePortsLock): Deleted.
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::contextIdentifier const):
(WebCore::ScriptExecutionContext::removeFromContextsMap):
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::postTaskTo):
(WebCore::allScriptExecutionContextsMapLock): Deleted.
- html/DateInputType.cpp:
(WebCore::DateInputType::createStepRange const):
- html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::createStepRange const):
- html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::createStepRange const):
- html/MonthInputType.cpp:
(WebCore::MonthInputType::createStepRange const):
- html/RangeInputType.cpp:
(WebCore::RangeInputType::createStepRange const):
- html/StepRange.h:
(WebCore::StepRange::StepDescription::StepDescription):
- html/TimeInputType.cpp:
(WebCore::TimeInputType::createStepRange const):
- html/WeekInputType.cpp:
(WebCore::WeekInputType::createStepRange const):
- page/SecurityPolicy.cpp:
(WebCore::originAccessMap):
(WebCore::SecurityPolicy::isAccessWhiteListed):
(WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
(WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
(WebCore::SecurityPolicy::resetOriginAccessWhitelists):
(WebCore::originAccessMapLock): Deleted.
- platform/SchemeRegistry.cpp:
(WebCore::allBuiltinSchemes):
(WebCore::builtinLocalURLSchemes):
(WebCore::localURLSchemes):
(WebCore::displayIsolatedURLSchemes):
(WebCore::builtinSecureSchemes):
(WebCore::secureSchemes):
(WebCore::builtinSchemesWithUniqueOrigins):
(WebCore::schemesWithUniqueOrigins):
(WebCore::builtinCanDisplayOnlyIfCanRequestSchemes):
(WebCore::canDisplayOnlyIfCanRequestSchemes):
(WebCore::SchemeRegistry::registerURLSchemeAsLocal):
(WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
(WebCore::ContentSecurityPolicyBypassingSchemes):
(WebCore::cachePartitioningSchemes):
(WebCore::serviceWorkerSchemes):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
(WebCore::SchemeRegistry::registerURLSchemeAsNoAccess):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
(WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
(WebCore::SchemeRegistry::registerURLSchemeAsSecure):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
(WebCore::SchemeRegistry::canDisplayOnlyIfCanRequest):
(WebCore::SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):
(WebCore::SchemeRegistry::registerURLSchemeAsBypassingContentSecurityPolicy):
(WebCore::SchemeRegistry::removeURLSchemeRegisteredAsBypassingContentSecurityPolicy):
(WebCore::SchemeRegistry::schemeShouldBypassContentSecurityPolicy):
(WebCore::SchemeRegistry::registerURLSchemeAsCachePartitioned):
(WebCore::SchemeRegistry::shouldPartitionCacheForURLScheme):
(WebCore::SchemeRegistry::registerURLSchemeServiceWorkersCanHandle):
(WebCore::SchemeRegistry::canServiceWorkersHandleURLScheme):
(WebCore::SchemeRegistry::isServiceWorkerContainerCustomScheme):
(WebCore::schemeRegistryLock): Deleted.
- 9:18 AM Changeset in webkit [234346] by
-
- 4 edits in trunk
[Curl] Fix the bug when client reject the redirect on WebKitLegacy.
https://bugs.webkit.org/show_bug.cgi?id=188130
Reviewed by Darin Adler.
Source/WebCore:
ResourceHandle for Curl port has a bug when a client returns en empty request which
indicates the redirecti is rejected by the client. It should be quit the task immediately,
but it kept doing the job. Fixed.
NetworkDataTask implementation did the right thing and there's no bug for them.
Test: http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::continueAfterWillSendRequest):
LayoutTests:
- platform/wincairo/TestExpectations:
- xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt: Pass
Jul 28, 2018:
- 11:39 AM Changeset in webkit [234345] by
-
- 2 edits in trunk/Source/WebCore
Reset CompositingPolicyOverride between tests
https://bugs.webkit.org/show_bug.cgi?id=188138
Reviewed by Zalan Bujtas.
WK1 tests were failing after r234330 because the compositing policy override optional
was left set on the Page (WK1 has injected bundle SPI to clear it). Fix by having
Internals::resetToConsistentState clear this state.
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
- 9:35 AM Changeset in webkit [234344] by
-
- 3 edits in trunk/Source/WTF
Gardening: build fix for internal builds.
https://bugs.webkit.org/show_bug.cgi?id=188123
<rdar://problem/42672268>
Not reviewed.
Some code is relying on RELEASE_ASSERT (without extra crash info arguments)
being purely inlined and not require linkage to an external symbol. This patch
restores this property of the original RELEASE_ASSERT.
This means moving the variant of WTFCrashWithInfo that does not take extra args
to Assertions.h and making it an "inline" function. When compiling with clang,
we also specify attribute((optnone)) to force the function out of being an
inline function (each linkage unit will get a copy of the function). This causes
the 1st 4 arguments of WTFCrashWithInfo (e.g. line number) to still be captured
in the argument registers for crash diagnostics.
- wtf/Assertions.cpp:
(WTFCrashWithInfo):
- wtf/Assertions.h:
Jul 27, 2018:
- 10:22 PM Changeset in webkit [234343] by
-
- 8 edits2 adds in trunk
Animation stops with object-fit:contain on an animated 2d canvas
https://bugs.webkit.org/show_bug.cgi?id=187840
Reviewed by Zalan Bujtas.
Source/WebCore:
If a canvas has object-fit: cover or contain, repaints need to mapped through
the rect that is used to position the canvas in the element bounds, which is replacedContentRect().
Add a version of replacedContentRect() that doesn't require passing the intrinsicSize() since
all but RenderVideo just pass the RenderReplaced's intrinsicSize.
Test: fast/repaint/canvas-object-fit.html
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::didDraw):
- rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::paintReplaced):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::updateInnerContentRect):
(WebCore::RenderImage::paintReplaced):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::contentsBox const):
- rendering/RenderReplaced.h:
(WebCore::RenderReplaced::replacedContentRect const):
- rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::createShapeForImage const):
LayoutTests:
- fast/repaint/canvas-object-fit-expected.txt: Added.
- fast/repaint/canvas-object-fit.html: Added.
- 7:23 PM Changeset in webkit [234342] by
-
- 2 edits in trunk/Tools
Unreviewed, fix typo in test expectations and mark another test as timing out
- TestWebKitAPI/glib/TestExpectations.json:
- 5:35 PM Changeset in webkit [234341] by
-
- 2 edits4 adds in trunk/LayoutTests
[Curl] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=188129
Unreviewed test gardening.
- platform/wincairo/TestExpectations:
- platform/wincairo/http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt: Added.
- 5:35 PM Changeset in webkit [234340] by
-
- 6 edits2 adds in trunk
Adjust the color matrix for the inverse apple-invert-lightness() transformation
https://bugs.webkit.org/show_bug.cgi?id=188131
rdar://problem/42673070
Reviewed by Zalan Bujtas.
Source/WebCore:
Use the correct inverse matrix values.
Test: editing/style/inverse-color-filter.html
- platform/graphics/filters/FilterOperation.cpp:
(WebCore::InvertLightnessFilterOperation::inverseTransformColor const):
LayoutTests:
Rebaseline tests that use the filter inversion. Add a new test that does inversion
for a whole range of colors, to get good coverage of the inversion matrix.
- editing/style/inverse-color-filter-expected.txt: Added.
- editing/style/inverse-color-filter.html: Added.
- editing/style/set-backColor-with-color-filter-expected.txt:
- editing/style/set-foreColor-with-color-filter-expected.txt:
- platform/win/TestExpectations:
- 5:24 PM Changeset in webkit [234339] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Don't deactivate audio session
https://bugs.webkit.org/show_bug.cgi?id=188127
<rdar://problem/42544143>
Reviewed by Jon Lee.
r233435 includes a change that deactivates the shared audio session when there are no more
active media sessions. This is a good in WK2 because it allows other applications to resume
playing audio when WebKit stops playing, but it is potentially bad in WK1 where the host
app may also be playing audio.
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::removeSession): Don't deactivate the audio session.
- 5:17 PM Changeset in webkit [234338] by
-
- 2 edits in trunk/Source/bmalloc
Initialize bmalloc::DebugHeap::m_pageSize for non-Darwin builds.
https://bugs.webkit.org/show_bug.cgi?id=188132
<rdar://problem/40401599>
Reviewed by Saam Barati.
- bmalloc/DebugHeap.cpp:
(bmalloc::DebugHeap::DebugHeap):
- 4:26 PM Changeset in webkit [234337] by
-
- 6 edits in trunk
More unreviewed GTK test gardening
Tools:
- TestWebKitAPI/glib/TestExpectations.json:
WebDriverTests:
I don't really know what I'm doing with these WebDriver expectations... will this work?
- TestExpectations.json:
LayoutTests:
- 3:54 PM Changeset in webkit [234336] by
-
- 2 edits in trunk/LayoutTests
LayoutTest http/tests/cache/disk-cache/disk-cache-204-status-code.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=162685
Unreviewed test gardening, marked as flaky on iOS Release.
- platform/ios-wk2/TestExpectations:
- 3:44 PM Changeset in webkit [234335] by
-
- 8 edits in trunk/Source
Add some crash info to Heap::checkConn() RELEASE_ASSERTs.
https://bugs.webkit.org/show_bug.cgi?id=188123
<rdar://problem/42672268>
Reviewed by Keith Miller.
Source/JavaScriptCore:
- Add VM::m_id and Heap::m_lastPhase fields. Both of these fit within existing padding space in VM and Heap, and should not cost any measurable perf to initialize and update.
- Add some crash info to the RELEASE_ASSERTs in Heap::checkConn():
worldState tells us the value we failed the assertion on.
m_lastPhase, m_currentPhase, and m_nextPhase tells us the GC phase transition
that led us here.
VM::id(), and VM::numberOfIDs() tells us how many VMs may be in play.
VM::isEntered() tells us if the current VM is currently executing JS code.
Some of this data may be redundant, but the redundancy is intentional so that
we can double check what is really happening at the time of crash.
- heap/Heap.cpp:
(JSC::asInt):
(JSC::Heap::checkConn):
(JSC::Heap::changePhase):
- heap/Heap.h:
- runtime/VM.cpp:
(JSC::VM::nextID):
(JSC::VM::VM):
- runtime/VM.h:
(JSC::VM::numberOfIDs):
(JSC::VM::id const):
(JSC::VM::isEntered const):
Source/WTF:
- Rename STUFF_FOR_CRASH_REGISTERx to CRASH_GPRx. These are only used in locally in Assertions.cpp. There is little to no chance of a name collision, and the shorter names will be much easier to read and grok in the code.
- Added an additional 2 registers so that we can pass more info.
- Change the WTFCrashWithInfo() implementations to issue only a single asm statement so that the compiler does not inadvertently move values out of the CRASH_GPRs that we want them to be in.
- Use register targeting for local variables to get the compiler to put our desired values in specific registers. For how this works, see https://gcc.gnu.org/onlinedocs/gcc/Local-Register-Variables.html#Local-Register-Variables
"The only supported use for this feature is to specify registers for input and
output operands when calling Extended asm (see Extended Asm). This may be
necessary if the constraints for a particular machine don’t provide sufficient
control to select the desired register."
- Enhance ASSERT, ASSERT_UNUSED, RELEASE_ASSERT, RELEASE_ASSERT_NOT_REACHED to accept crash info arguments. We no longer need to use an if statement with a call to CRASH_WITH_INFO instead of these assertions. The only case not handled yet is one where we might want to dataLog some info before the crash. I'll add that functionality in a subsequent patch.
- Move UNREACHABLE_FOR_PLATFORM to the bottom of Assertions.h because it depends on the definition of RELEASE_ASSERT_NOT_REACHED, which now depends on the definiton of CRASH_WITH_INFO.
- wtf/Assertions.cpp:
(WTFCrashWithInfo):
- wtf/Assertions.h:
- 3:33 PM Changeset in webkit [234334] by
-
- 10 edits in trunk/Source
Fix thread-safety issues related to RealtimeMediaSource::audioSamplesAvailable()
https://bugs.webkit.org/show_bug.cgi?id=188097
<rdar://problem/42558823>
Reviewed by Eric Carlson.
Source/WebCore:
Fix thread-safety issues related to RealtimeMediaSource::audioSamplesAvailable(). RealtimeMediaSource::audioSamplesAvailable()
is called on a background thread but iterates over observers that may get destroyed concurrently on the main thread.
To address the issue:
- Introduce a Lock to protect m_observer accesses
- Copy observers to a Vector before iterating over them
- platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::forEachObserver const):
(WebCore::MediaStreamTrackPrivate::addObserver):
(WebCore::MediaStreamTrackPrivate::removeObserver):
(WebCore::MediaStreamTrackPrivate::setEnabled):
(WebCore::MediaStreamTrackPrivate::endTrack):
(WebCore::MediaStreamTrackPrivate::sourceStarted):
(WebCore::MediaStreamTrackPrivate::sourceStopped):
(WebCore::MediaStreamTrackPrivate::sourceMutedChanged):
(WebCore::MediaStreamTrackPrivate::sourceSettingsChanged):
(WebCore::MediaStreamTrackPrivate::videoSampleAvailable):
(WebCore::MediaStreamTrackPrivate::audioSamplesAvailable):
(WebCore::MediaStreamTrackPrivate::updateReadyState):
- platform/mediastream/MediaStreamTrackPrivate.h:
(WebCore::MediaStreamTrackPrivate::Observer::sampleBufferUpdated):
(WebCore::MediaStreamTrackPrivate::Observer::audioSamplesAvailable):
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::addObserver):
(WebCore::RealtimeMediaSource::removeObserver):
(WebCore::RealtimeMediaSource::forEachObserver const):
(WebCore::RealtimeMediaSource::notifyMutedObservers const):
(WebCore::RealtimeMediaSource::settingsDidChange):
(WebCore::RealtimeMediaSource::videoSampleAvailable):
(WebCore::RealtimeMediaSource::audioSamplesAvailable):
(WebCore::RealtimeMediaSource::start):
(WebCore::RealtimeMediaSource::requestStop):
(WebCore::RealtimeMediaSource::captureFailed):
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:
(WebCore::AudioTrackPrivateMediaStreamCocoa::audioSamplesAvailable):
- platform/mediastream/mac/RealtimeOutgoingAudioSourceCocoa.cpp:
- platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:
Source/WebKit:
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
- 3:32 PM Changeset in webkit [234333] by
-
- 25 edits1 add in trunk/Source
Don't include WebPageProxy.h just for UndoOrRedo
https://bugs.webkit.org/show_bug.cgi?id=188086
Reviewed by Saam Barati.
Source/WebCore:
- platform/DragItem.h:
Source/WebKit:
- Shared/UndoOrRedo.h: Added.
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::registerEditCommand):
- UIProcess/PageClient.h:
- UIProcess/WebEditCommandProxy.cpp:
(WebKit::WebEditCommandProxy::unapply):
(WebKit::WebEditCommandProxy::reapply):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::registerEditCommandForUndo):
(WebKit::WebPageProxy::canUndoRedo):
(WebKit::WebPageProxy::executeUndoRedo):
(WebKit::WebPageProxy::canUndo):
(WebKit::WebPageProxy::canRedo):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::registerEditCommand):
(WebKit::PageClientImpl::canUndoRedo):
(WebKit::PageClientImpl::executeUndoRedo):
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::registerEditCommand):
(WebKit::PageClientImpl::canUndoRedo):
(WebKit::PageClientImpl::executeUndoRedo):
- UIProcess/mac/WebContextMenuProxyMac.mm:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::canUndo const):
(WebKit::WebEditorClient::canRedo const):
(WebKit::WebEditorClient::undo):
(WebKit::WebEditorClient::redo):
- 3:29 PM Changeset in webkit [234332] by
-
- 28 edits in trunk/Source
Make CompletionHandler more const correct
https://bugs.webkit.org/show_bug.cgi?id=186543
Reviewed by Saam Barati.
Source/WebCore:
- dom/messageports/MessagePortChannel.cpp:
(WebCore::MessagePortChannel::checkRemotePortForActivity):
- dom/messageports/MessagePortChannelProviderImpl.cpp:
(WebCore::MessagePortChannelProviderImpl::checkRemotePortForActivity):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::responseReceived):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::loadPostRequest):
- platform/network/cocoa/WebCoreNSURLSession.mm:
(WebCore::WebCoreNSURLSessionDataTaskClient::redirectReceived):
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::RegistrationDatabase::pushChanges):
(WebCore::RegistrationDatabase::clearAll):
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::matchAll):
- workers/service/server/SWServer.h:
- workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::matchAll):
- workers/service/server/SWServerWorker.h:
Source/WebKit:
- NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::willPerformHTTPRedirection):
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::clearAllCaches):
- UIProcess/Automation/SimulatedInputDispatcher.cpp:
(WebKit::SimulatedInputDispatcher::transitionInputSourceToState):
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::simulateMouseInteraction):
(WebKit::WebAutomationSession::simulateKeyboardInteraction):
- UIProcess/Cocoa/AutomationSessionClient.mm:
(WebKit::AutomationSessionClient::requestNewPageWithOptions):
(WebKit::AutomationSessionClient::requestSwitchToPage):
(WebKit::AutomationSessionClient::requestHideWindowOfPage):
(WebKit::AutomationSessionClient::requestRestoreWindowOfPage):
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
(WebKit::UIDelegate::UIClient::createNewPage):
(WebKit::UIDelegate::UIClient::runJavaScriptAlert):
(WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
(WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
(WebKit::UIDelegate::UIClient::requestStorageAccessConfirm):
(WebKit::UIDelegate::UIClient::decidePolicyForGeolocationPermissionRequest):
(WebKit::UIDelegate::UIClient::runBeforeUnloadConfirmPanel):
(WebKit::UIDelegate::UIClient::decidePolicyForNotificationPermissionRequest):
(WebKit::UIDelegate::UIClient::runOpenPanel):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::webGLPolicyForURL):
(WebKit::WebPageProxy::resolveWebGLPolicyForURL):
(WebKit::WebPageProxy::getWindowFrame):
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::hasStorageAccess):
(WebKit::WebResourceLoadStatisticsStore::requestStorageAccess):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioning):
Source/WTF:
- wtf/CompletionHandler.h:
(WTF::CompletionHandler<Out):
Calling a CompletionHandler mutates it. Make the code reflect that.
- 3:27 PM Changeset in webkit [234331] by
-
- 6 edits1 add in trunk
[JSC] Record CoW status in ArrayProfile correctly
https://bugs.webkit.org/show_bug.cgi?id=187949
Reviewed by Saam Barati.
JSTests:
- stress/array-profile-should-record-copy-on-write.js: Added.
(shouldBe):
(test1):
(test2):
(test3):
Source/JavaScriptCore:
In this patch, we simplify asArrayModes: just shifting the value with IndexingMode.
This is important since our OSR exit compiler records m_observedArrayModes by calculating
ArrayModes with shifting. Since ArrayModes for CoW arrays are incorrectly calculated,
our OSR exit compiler records incorrect results in ArrayProfile. And it leads to
Array::Generic DFG nodes.
- bytecode/ArrayProfile.h:
(JSC::asArrayModes):
(JSC::ArrayProfile::ArrayProfile):
- dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::compileExit):
- ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
- runtime/IndexingType.h:
- 3:20 PM Changeset in webkit [234330] by
-
- 25 edits2 adds in trunk
Be more conservative with compositing layer creation when memory is low
https://bugs.webkit.org/show_bug.cgi?id=187866
rdar://problem/42366345
Reviewed by Zalan Bujtas.
Source/WebCore:
When process physical footprint is above a fraction of the jetsam limit, be more conservative in making
compositing layers. We avoid compositing for these situations:
- Layers with 3D transforms which are affine (like translateZ(0)).
- Layers with will-change
- Layers for canvases (other than WebGL/WebGPU)
We reuse some macOS code in MemoryPressureHandler() but choose different thresholds for iOS,
falling into "conservative mode" at 50% of jetsam limit, and "strict mode" at 65%.
Compositing chooses to be more conservative in either "conservative" or "strict" memory modes.
Plumb through a "compositingPolicyOverride" both so that on-device testing isn't
flakily falling into a different mode, and so that we can impose the conservative
mode for testing.
Test: compositing/layer-creation/compositing-policy.html
- page/Page.h:
(WebCore::Page::compositingPolicyOverride const):
(WebCore::Page::setCompositingPolicyOverride):
- platform/graphics/transforms/Matrix3DTransformOperation.cpp:
(WebCore::Matrix3DTransformOperation::isRepresentableIn2D const):
- platform/graphics/transforms/Matrix3DTransformOperation.h:
- platform/graphics/transforms/PerspectiveTransformOperation.h:
- platform/graphics/transforms/RotateTransformOperation.h:
- platform/graphics/transforms/ScaleTransformOperation.h:
- platform/graphics/transforms/TransformOperation.h:
(WebCore::TransformOperation::isRepresentableIn2D const):
- platform/graphics/transforms/TransformOperations.h:
(WebCore::TransformOperations::has3DOperation const):
(WebCore::TransformOperations::isRepresentableIn2D const):
- platform/graphics/transforms/TranslateTransformOperation.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
(WebCore::RenderLayerCompositor::updateCompositingPolicy):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::requiresCompositingForTransform const):
(WebCore::RenderLayerCompositor::requiresCompositingForVideo const):
(WebCore::RenderLayerCompositor::requiresCompositingForCanvas const):
(WebCore::RenderLayerCompositor::requiresCompositingForPlugin const):
(WebCore::RenderLayerCompositor::requiresCompositingForWillChange const):
(WebCore::RenderLayerCompositor::needsFixedRootBackgroundLayer const):
(WebCore::operator<<):
- rendering/RenderLayerCompositor.h:
- testing/Internals.cpp:
(WebCore::Internals::setCompositingPolicyOverride):
(WebCore::Internals::compositingPolicyOverride const):
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
When process physical footprint is above a fraction of the jetsam limit, be more conservative in making
compositing layers. We avoid compositing for these situations:
- Layers with 3D transforms which are affine (like translateZ(0)).
- Layers with will-change
- Layers for canvases (other than WebGL/WebGPU)
We reuse some macOS code in MemoryPressureHandler() but choose different thresholds for iOS,
falling into "conservative mode" at 50% of jetsam limit, and "strict mode" at 65%.
Compositing chooses to be more conservative in either "conservative" or "strict" memory modes.
Plumb through a "compositingPolicyOverride" both so that on-device testing isn't
flakily falling into a different mode, and so that we can impose the conservative
mode for testing.
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetCompositingPolicyOverride):
- WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
Source/WTF:
When process physical footprint is above a fraction of the jetsam limit, be more conservative in making
compositing layers. We avoid compositing for these situations:
- Layers with 3D transforms which are affine (like translateZ(0)).
- Layers with will-change
- Layers for canvases (other than WebGL/WebGPU)
We reuse some macOS code in MemoryPressureHandler() but choose different thresholds for iOS,
falling into "conservative mode" at 50% of jetsam limit, and "strict mode" at 65%.
Compositing chooses to be more conservative in either "conservative" or "strict" memory modes.
Plumb through a "compositingPolicyOverride" both so that on-device testing isn't
flakily falling into a different mode, and so that we can impose the conservative
mode for testing.
- wtf/MemoryPressureHandler.cpp:
(WTF::thresholdForPolicy):
(WTF::MemoryPressureHandler::currentMemoryUsagePolicy):
- wtf/MemoryPressureHandler.h:
Tools:
When process physical footprint is above a fraction of the jetsam limit, be more conservative in making
compositing layers. We avoid compositing for these situations:
- Layers with 3D transforms which are affine (like translateZ(0)).
- Layers with will-change
- Layers for canvases (other than WebGL/WebGPU)
We reuse some macOS code in MemoryPressureHandler() but choose different thresholds for iOS,
falling into "conservative mode" at 50% of jetsam limit, and "strict mode" at 65%.
Compositing chooses to be more conservative in either "conservative" or "strict" memory modes.
Plumb through a "compositingPolicyOverride" both so that on-device testing isn't
flakily falling into a different mode, and so that we can impose the conservative
mode for testing.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::prepare):
LayoutTests:
- compositing/layer-creation/compositing-policy-expected.txt: Added.
- compositing/layer-creation/compositing-policy.html: Added.
- 3:11 PM Changeset in webkit [234329] by
-
- 4 edits in trunk
[WK1] ASSERTION FAILED: renderer().repaintLayoutRects().m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint()) in WebCore::RenderLayer::updateLayerPositionsAfterScroll
https://bugs.webkit.org/show_bug.cgi?id=188122
<rdar://problem/42584790>
Reviewed by Simon Fraser.
Source/WebCore:
When ScrollView's m_paintsEntireContents flag flips due to layer backing changes, the repaint area transitions from
visual to layout overflow. When this happens the cached repaint rects become invalid and they need to be recomputed.
Currently there's no mechanism to trigger repaint cache invalidation from ScrollView.
Skip assertion for now on WK1 (see webkit.org/b/188121)
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositionsAfterScroll):
LayoutTests:
- platform/mac-wk1/TestExpectations:
- 2:20 PM Changeset in webkit [234328] by
-
- 2 edits in trunk/Source/bmalloc
Explicitly handle memlimit_active < 0
https://bugs.webkit.org/show_bug.cgi?id=188125
Reviewed by Mark Lam.
This may come up during development when someone wants the limit
to be "infinite".
- bmalloc/AvailableMemory.cpp:
(bmalloc::jetsamLimit):
- 1:50 PM Changeset in webkit [234327] by
-
- 5 edits in trunk/Source/WebKit
Add RefCounted CompletionHandler wrapping abstraction for sending policy decisions back to WebProcess
https://bugs.webkit.org/show_bug.cgi?id=188089
Reviewed by Geoffrey Garen.
This will be necessary for when I add an asynchronous parallel step to decidePolicyForNavigationAction.
We will want to wait for that asynchronous step for decidePolicyForNavigationActionSync but not for a client.
No change in behavior.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::PolicyDecisionSender::create):
(WebKit::WebPageProxy::PolicyDecisionSender::operator()):
(WebKit::WebPageProxy::PolicyDecisionSender::PolicyDecisionSender):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationActionAsync):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNavigationActionSync):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- 1:35 PM Changeset in webkit [234326] by
-
- 7 edits1 add in trunk/Source
Use SPI to compute the jetsam limit on iOS instead of hardcoding 840MB
https://bugs.webkit.org/show_bug.cgi?id=188091
<rdar://problem/42647697>
Reviewed by Simon Fraser.
Source/bmalloc:
We want bmalloc to dynamically adapt to the jetsam limit of the process
it's running in. WTF::ramSize() is based off bmalloc's availableMemory,
so it will now reflect the result of the real jetsam limit when we can
read it.
Reading the jetsam limit requires an entitlement, so this patch opts in
the WebContent/Storage/Network processes. We fall back to 840MB (the
old hard coded value) when the SPI call fails (e.g, when we're in a
process without the proper entitlement).
- bmalloc.xcodeproj/project.pbxproj:
- bmalloc/AvailableMemory.cpp:
(bmalloc::jetsamLimit):
(bmalloc::computeAvailableMemory):
- bmalloc/darwin/MemoryStatusSPI.h: Added.
Source/WebKit:
Give the Network/Storage/WebContent process the com.apple.private.memorystatus
entitlement. This allows them to read the process jetsam limit.
- Configurations/Databases-iOS.entitlements:
- Configurations/Network-iOS.entitlements:
- Configurations/WebContent-iOS.entitlements:
- 1:11 PM Changeset in webkit [234325] by
-
- 7 edits in trunk
Unreviewed GTK test gardening
Tools:
- TestWebKitAPI/glib/TestExpectations.json:
WebDriverTests:
- TestExpectations.json:
LayoutTests:
- TestExpectations:
- platform/gtk/TestExpectations:
- 11:46 AM Changeset in webkit [234324] by
-
- 7 edits in tags/Safari-606.1.32.1/Source/WebCore
Cherry-pick r234318. rdar://problem/42467016
[WIN] Crash when trying to access store pages
https://bugs.webkit.org/show_bug.cgi?id=188032
<rdar://problem/42467016>
Reviewed by Brent Fulgham.
The Windows implementation of GlyphBuffer has an additional member, m_offsets, which represents
an additional offset to the position to paint each glyph. It also has two add() functions, one
which appends to this vector, and one which doesn't. The one that doesn't append to the vector
should never be called on Windows (because Windows requires this vector to be full).
There were two situations where it was getting called:
1) Inside ComplexTextController
2) Inside display list playback
Windows shouldn't be using ComplexTextController because the Windows implementation of this
class isn't ready yet; instead it should be using UniscribeController. The display list playback
code should be used on Windows.
Rather than fix the function to append an offset, we actually don't need the m_offsets vector
in the first place. Instead, we can do it the same way that the Cocoa ports do it, which is to
bake the offsets into the glyph advances. This is possible because the GlyphBuffer doesn't need
to distinguish between layout advances and paint advances, so we can bake them together and
just put paint advances in the GlyphBuffer. This should be a small (probably within-the-noise)
performance and memory improvement.
- platform/graphics/ComplexTextController.cpp: (WebCore::ComplexTextController::ComplexTextController): Make sure that ComplexTextController isn't used on Windows.
- platform/graphics/FontCascade.cpp: (WebCore::FontCascade::widthOfTextRange const): Switch from ComplexTextController to UniscribeController on Windows. (WebCore::FontCascade::drawGlyphBuffer const): After deleting the m_offsets vector, there's no reason to consult it when drawing.
- platform/graphics/GlyphBuffer.h: Remove m_offsets (WebCore::GlyphBuffer::clear): (WebCore::GlyphBuffer::advanceAt const): (WebCore::GlyphBuffer::add): (WebCore::GlyphBuffer::expandLastAdvance): (WebCore::GlyphBuffer::shrink): (WebCore::GlyphBuffer::swap): (WebCore::GlyphBuffer::offsetAt const): Deleted.
- platform/graphics/win/FontCGWin.cpp: (WebCore::FontCascade::drawGlyphs): After deleting the m_offsets vector, there's no reason to consult it when drawing.
- platform/graphics/win/FontCascadeDirect2D.cpp: (WebCore::FontCascade::drawGlyphs): Ditto.
- platform/graphics/win/UniscribeController.cpp: (WebCore::UniscribeController::shapeAndPlaceItem): Bake in the offsets into the glyph advances.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:44 AM Changeset in webkit [234323] by
-
- 7 edits in tags/Safari-606.1.32.1/Source
Versioning.
- 11:39 AM Changeset in webkit [234322] by
-
- 7 edits in branches/safari-606-branch/Source/WebCore
Cherry-pick r234318. rdar://problem/42467016
[WIN] Crash when trying to access store pages
https://bugs.webkit.org/show_bug.cgi?id=188032
<rdar://problem/42467016>
Reviewed by Brent Fulgham.
The Windows implementation of GlyphBuffer has an additional member, m_offsets, which represents
an additional offset to the position to paint each glyph. It also has two add() functions, one
which appends to this vector, and one which doesn't. The one that doesn't append to the vector
should never be called on Windows (because Windows requires this vector to be full).
There were two situations where it was getting called:
1) Inside ComplexTextController
2) Inside display list playback
Windows shouldn't be using ComplexTextController because the Windows implementation of this
class isn't ready yet; instead it should be using UniscribeController. The display list playback
code should be used on Windows.
Rather than fix the function to append an offset, we actually don't need the m_offsets vector
in the first place. Instead, we can do it the same way that the Cocoa ports do it, which is to
bake the offsets into the glyph advances. This is possible because the GlyphBuffer doesn't need
to distinguish between layout advances and paint advances, so we can bake them together and
just put paint advances in the GlyphBuffer. This should be a small (probably within-the-noise)
performance and memory improvement.
- platform/graphics/ComplexTextController.cpp: (WebCore::ComplexTextController::ComplexTextController): Make sure that ComplexTextController isn't used on Windows.
- platform/graphics/FontCascade.cpp: (WebCore::FontCascade::widthOfTextRange const): Switch from ComplexTextController to UniscribeController on Windows. (WebCore::FontCascade::drawGlyphBuffer const): After deleting the m_offsets vector, there's no reason to consult it when drawing.
- platform/graphics/GlyphBuffer.h: Remove m_offsets (WebCore::GlyphBuffer::clear): (WebCore::GlyphBuffer::advanceAt const): (WebCore::GlyphBuffer::add): (WebCore::GlyphBuffer::expandLastAdvance): (WebCore::GlyphBuffer::shrink): (WebCore::GlyphBuffer::swap): (WebCore::GlyphBuffer::offsetAt const): Deleted.
- platform/graphics/win/FontCGWin.cpp: (WebCore::FontCascade::drawGlyphs): After deleting the m_offsets vector, there's no reason to consult it when drawing.
- platform/graphics/win/FontCascadeDirect2D.cpp: (WebCore::FontCascade::drawGlyphs): Ditto.
- platform/graphics/win/UniscribeController.cpp: (WebCore::UniscribeController::shapeAndPlaceItem): Bake in the offsets into the glyph advances.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:31 AM Changeset in webkit [234321] by
-
- 2 edits in trunk/Tools
Fix API tests after r234314
https://bugs.webkit.org/show_bug.cgi?id=188077
Make API tests use new delegate method.
- TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
- 11:30 AM Changeset in webkit [234320] by
-
- 2 edits in trunk/Tools
Fix API tests after r234314
https://bugs.webkit.org/show_bug.cgi?id=188077
Make API tests use new delegate method.
- TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
- 11:27 AM Changeset in webkit [234319] by
-
- 1 copy in tags/Safari-606.1.32.1
New tag.
- 11:21 AM Changeset in webkit [234318] by
-
- 7 edits in trunk/Source/WebCore
[WIN] Crash when trying to access store pages
https://bugs.webkit.org/show_bug.cgi?id=188032
<rdar://problem/42467016>
Reviewed by Brent Fulgham.
The Windows implementation of GlyphBuffer has an additional member, m_offsets, which represents
an additional offset to the position to paint each glyph. It also has two add() functions, one
which appends to this vector, and one which doesn't. The one that doesn't append to the vector
should never be called on Windows (because Windows requires this vector to be full).
There were two situations where it was getting called:
1) Inside ComplexTextController
2) Inside display list playback
Windows shouldn't be using ComplexTextController because the Windows implementation of this
class isn't ready yet; instead it should be using UniscribeController. The display list playback
code should be used on Windows.
Rather than fix the function to append an offset, we actually don't need the m_offsets vector
in the first place. Instead, we can do it the same way that the Cocoa ports do it, which is to
bake the offsets into the glyph advances. This is possible because the GlyphBuffer doesn't need
to distinguish between layout advances and paint advances, so we can bake them together and
just put paint advances in the GlyphBuffer. This should be a small (probably within-the-noise)
performance and memory improvement.
- platform/graphics/ComplexTextController.cpp:
(WebCore::ComplexTextController::ComplexTextController): Make sure that ComplexTextController
isn't used on Windows.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::widthOfTextRange const): Switch from ComplexTextController to
UniscribeController on Windows.
(WebCore::FontCascade::drawGlyphBuffer const): After deleting the m_offsets vector, there's
no reason to consult it when drawing.
- platform/graphics/GlyphBuffer.h: Remove m_offsets
(WebCore::GlyphBuffer::clear):
(WebCore::GlyphBuffer::advanceAt const):
(WebCore::GlyphBuffer::add):
(WebCore::GlyphBuffer::expandLastAdvance):
(WebCore::GlyphBuffer::shrink):
(WebCore::GlyphBuffer::swap):
(WebCore::GlyphBuffer::offsetAt const): Deleted.
- platform/graphics/win/FontCGWin.cpp:
(WebCore::FontCascade::drawGlyphs): After deleting the m_offsets vector, there's no reason
to consult it when drawing.
- platform/graphics/win/FontCascadeDirect2D.cpp:
(WebCore::FontCascade::drawGlyphs): Ditto.
- platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::shapeAndPlaceItem): Bake in the offsets into the glyph advances.
- 11:19 AM Changeset in webkit [234317] by
-
- 4 edits in trunk
[Curl] Crash on synchronous request via ResourceHandle.
https://bugs.webkit.org/show_bug.cgi?id=188033
Reviewed by Alex Christensen.
Source/WebCore:
The timing of instantiation of delegate was wrong. Move it inside
delegate
getter().
This bug was introduced at r228577.
Test: http/tests/xmlhttprequest/simple-sync.html
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::delegate):
LayoutTests:
bug/188033 Crash sync xmlhttprequest
- platform/wincairo/TestExpectations:
- 11:02 AM Changeset in webkit [234316] by
-
- 2 edits in trunk/LayoutTests
Layout Test tiled-drawing/scrolling/fixed/four-bars-zoomed.html is flaky text failure.
https://bugs.webkit.org/show_bug.cgi?id=188096
Unreviewed test gardening, marked test as flaky.
- platform/mac-wk2/TestExpectations:
- 11:02 AM Changeset in webkit [234315] by
-
- 2 edits in trunk/Source
Unreviewed, rolling out r233461.
assertions triggered on ios11 Debug wk2
Reverted changeset:
"[iOS] Add assert to catch improper use of WebCore::Timer in
UI Process"
https://bugs.webkit.org/show_bug.cgi?id=185330
https://trac.webkit.org/changeset/233461
- 10:03 AM Changeset in webkit [234314] by
-
- 4 edits in trunk/Source/WebKit
Remove unused WKNavigationDelegatePrivate decidePolicyForNavigationAction SPI
https://bugs.webkit.org/show_bug.cgi?id=188077
Patch by Alex Christensen <achristensen@webkit.org> on 2018-07-27
Reviewed by Darin Adler.
The one client has moved to the version with userInfo, and it never used the SPI
on old operating systems.
- UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
- UIProcess/Cocoa/NavigationState.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
- 10:02 AM Changeset in webkit [234313] by
-
- 6 edits in trunk/Source/WebKit
Begin making WKWebViewConfiguration a wrapper around an API::PageConfiguration
https://bugs.webkit.org/show_bug.cgi?id=188030
Reviewed by Sam Weinig.
Eventually WKWebViewConfiguration should become just a API::ObjectStorage<API::PageConfiguration>.
The transition includes adding fields that exist in WKWebViewConfiguration to API::PageConfiguration
and making WKWebViewConfiguration's getters and setters just call API::PageConfiguration's corresponding methods
instead of having an ivar for each value then copying it to an API::PageConfiguration we construct in
the WKWebView constructor. To transition incrementally, I've added a RefPtr<API::PageConfiguration> ivar to
WKWebViewConfiguration and moved a few ivars to use the values stored in that API::PageConfiguration instead.
I've arbitrarily chosen _treatsSHA1SignedCertificatesAsInsecure and _urlSchemeHandlers as the first two
properties to transition, and I'll continue transitioning each ivar in small, easy-to-review bunches.
- UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::copy const):
(API::PageConfiguration::urlSchemeHandlerForURLScheme):
(API::PageConfiguration::setURLSchemeHandlerForURLScheme):
- UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::urlSchemeHandlers):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration setURLSchemeHandler:forURLScheme:]):
(-[WKWebViewConfiguration urlSchemeHandlerForURLScheme:]):
(-[WKWebViewConfiguration copyPageConfiguration]):
(-[WKWebViewConfiguration _treatsSHA1SignedCertificatesAsInsecure]):
(-[WKWebViewConfiguration _setTreatsSHA1SignedCertificatesAsInsecure:]):
(-[WKWebViewConfiguration _urlSchemeHandlers]): Deleted.
- UIProcess/API/Cocoa/WKWebViewConfigurationInternal.h:
- 9:58 AM Changeset in webkit [234312] by
-
- 10 edits in trunk/Source/WebCore
[Media] Avoid unnecessarily constructing *TrackList objects
https://bugs.webkit.org/show_bug.cgi?id=188094
Reviewed by Eric Carlson.
Avoid unnecessarily constructing *TrackList objects as this is preventing us from making them
ActiveDOMObjects.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::removeSourceBuffer):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::addAudioTrack):
(WebCore::HTMLMediaElement::addTextTrack):
(WebCore::HTMLMediaElement::addVideoTrack):
(WebCore::HTMLMediaElement::ensureAudioTracks):
(WebCore::HTMLMediaElement::ensureTextTracks):
(WebCore::HTMLMediaElement::ensureVideoTracks):
(WebCore::HTMLMediaElement::setSelectedTextTrack):
(WebCore::HTMLMediaElement::audioTracks): Deleted.
(WebCore::HTMLMediaElement::textTracks): Deleted.
(WebCore::HTMLMediaElement::videoTracks): Deleted.
- html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::audioTracks const):
(WebCore::HTMLMediaElement::textTracks const):
(WebCore::HTMLMediaElement::videoTracks const):
- html/HTMLMediaElement.idl:
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
(WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
(WebCore::MediaControlTextTrackContainerElement::updateTextStrokeStyle):
- html/track/TextTrack.cpp:
(WebCore::TextTrack::setKind):
(WebCore::TextTrack::trackIndex):
(WebCore::TextTrack::trackIndexRelativeToRenderedTracks):
(WebCore::TextTrack::setLanguage):
- html/track/VideoTrack.cpp:
(WebCore::VideoTrack::setKind):
(WebCore::VideoTrack::setLanguage):
- platform/cocoa/PlaybackSessionModelMediaElement.mm:
(WebCore::PlaybackSessionModelMediaElement::setMediaElement):
(WebCore::PlaybackSessionModelMediaElement::updateMediaSelectionOptions):
- 9:50 AM Changeset in webkit [234311] by
-
- 4 edits in trunk
[Curl] Set correct source info to ResourceResponse.
https://bugs.webkit.org/show_bug.cgi?id=188069
Reviewed by Fujii Hironori.
Source/WebCore:
ResourceResponseBase::Source::Network must be set by each ports. Curl port
didn't set this.
Test: http/tests/cache/disk-cache/disk-cache-302-status-code.html
- platform/network/curl/ResourceResponseCurl.cpp:
(WebCore::ResourceResponse::ResourceResponse):
LayoutTests:
- platform/wincairo/TestExpectations:
- http/tests/cache/disk-cache/disk-cache-302-status-code.html: Pass
- 9:28 AM Changeset in webkit [234310] by
-
- 3 edits in trunk/Source/WebKit
Loading a file URL and then issuing a reload right away causes the load to fail due to sandboxing
https://bugs.webkit.org/show_bug.cgi?id=188078
<rdar://problem/42562493>
Unreviewed, follow-up fix after r234290 to address assertion hits on the bots. Make the fix
specific to reloads as we know the existing provisional sandbox extension is for the same
URL then.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::reload):
(WebKit::WebPage::SandboxExtensionTracker::beginLoad):
(WebKit::WebPage::SandboxExtensionTracker::beginReload):
- WebProcess/WebPage/WebPage.h:
- 3:46 AM Changeset in webkit [234309] by
-
- 2 edits in trunk/LayoutTests
[WinCairo] Unreviewed test gardening
- platform/wincairo/TestExpectations:
Enable test cases under http/tests/css.