[webkit-changes] [290200] trunk/Source/WebKit

2022-02-18 Thread sihui_liu
Title: [290200] trunk/Source/WebKit








Revision 290200
Author sihui_...@apple.com
Date 2022-02-18 23:22:47 -0800 (Fri, 18 Feb 2022)


Log Message
ASSERTION FAILED: !hasAnyOpenConnections() in UniqueIDBDatabase::~UniqueIDBDatabase()
https://bugs.webkit.org/show_bug.cgi?id=236856

Reviewed by Chris Dumez.

The assertion is hit when running API test WebKit.MigrateIndexedDBDataToGeneralStorageDirectory. We need to
properly close UniqueIDBDatabase before it's destroyed.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::storageSession): remove logging as it was added when we had check for
default session. Since we don't have the check now, the logging does not make much sense.
* NetworkProcess/storage/IDBStorageManager.cpp:
(WebKit::IDBStorageManager::~IDBStorageManager):
* NetworkProcess/storage/IDBStorageManager.h:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.cpp
trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.h




Diff

Modified: trunk/Source/WebKit/ChangeLog (290199 => 290200)

--- trunk/Source/WebKit/ChangeLog	2022-02-19 07:19:34 UTC (rev 290199)
+++ trunk/Source/WebKit/ChangeLog	2022-02-19 07:22:47 UTC (rev 290200)
@@ -1,3 +1,20 @@
+2022-02-18  Sihui Liu  
+
+ASSERTION FAILED: !hasAnyOpenConnections() in UniqueIDBDatabase::~UniqueIDBDatabase()
+https://bugs.webkit.org/show_bug.cgi?id=236856
+
+Reviewed by Chris Dumez.
+
+The assertion is hit when running API test WebKit.MigrateIndexedDBDataToGeneralStorageDirectory. We need to
+properly close UniqueIDBDatabase before it's destroyed.
+
+* NetworkProcess/NetworkConnectionToWebProcess.cpp:
+(WebKit::NetworkConnectionToWebProcess::storageSession): remove logging as it was added when we had check for
+default session. Since we don't have the check now, the logging does not make much sense.
+* NetworkProcess/storage/IDBStorageManager.cpp:
+(WebKit::IDBStorageManager::~IDBStorageManager):
+* NetworkProcess/storage/IDBStorageManager.h:
+
 2022-02-18  Ben Nham  
 
 Hook up PushManager to permission state


Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp (290199 => 290200)

--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp	2022-02-19 07:19:34 UTC (rev 290199)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp	2022-02-19 07:22:47 UTC (rev 290200)
@@ -750,10 +750,7 @@
 
 NetworkStorageSession* NetworkConnectionToWebProcess::storageSession()
 {
-auto* session = networkProcess().storageSession(m_sessionID);
-if (!session)
-LOG_ERROR("Non-default storage session was requested, but there was no session for it. Please file a bug unless you just disabled private browsing, in which case it's an expected race.");
-return session;
+return networkProcess().storageSession(m_sessionID);
 }
 
 void NetworkConnectionToWebProcess::startDownload(DownloadID downloadID, const ResourceRequest& request, std::optional isNavigatingToAppBoundDomain, const String& suggestedName)


Modified: trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.cpp (290199 => 290200)

--- trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.cpp	2022-02-19 07:19:34 UTC (rev 290199)
+++ trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.cpp	2022-02-19 07:22:47 UTC (rev 290200)
@@ -120,6 +120,12 @@
 {
 }
 
+IDBStorageManager::~IDBStorageManager()
+{
+for (auto& database : m_databases.values())
+database->immediateClose();
+}
+
 bool IDBStorageManager::isActive() const
 {
 return !m_databases.isEmpty();


Modified: trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.h (290199 => 290200)

--- trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.h	2022-02-19 07:19:34 UTC (rev 290199)
+++ trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.h	2022-02-19 07:22:47 UTC (rev 290200)
@@ -52,6 +52,7 @@
 
 using QuotaCheckFunction = Function&&)>;
 IDBStorageManager(const String& path, IDBStorageRegistry&, QuotaCheckFunction&&);
+~IDBStorageManager();
 bool isActive() const;
 bool hasDataInMemory() const;
 void closeDatabasesForDeletion();






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290199] trunk/Tools

2022-02-18 Thread ddkilzer
Title: [290199] trunk/Tools








Revision 290199
Author ddkil...@apple.com
Date 2022-02-18 23:19:34 -0800 (Fri, 18 Feb 2022)


Log Message
[Tools] Sanitizer builds should obey `set-webkit-configuration --force-optimization-level`



Reviewed by Brent Fulgham.

* Scripts/webkitdirs.pm:
(XcodeOptions):
- Pass WK_FORCE_OPTIMIZATION_LEVEL instead of
  GCC_OPTIMIZATION_LEVEL if sanitizers are enabled so the
  optimization level can be overridden in sanitizer.xcconfig.

* sanitizer/asan.xcconfig:
(WK_NOT_): Remove.
(WK_NOT_YES): Remove.
- Move variables to sanitizer.xcconfig.

* sanitizer/sanitizer.xcconfig:
(WK_EMPTY_): Add.
(WK_NOT_): Add.
(WK_NOT_YES): Add.
- Add utility variables originally from SDKVariant.xcconfig.
(WK_OVERRIDE_OPTIMIZATION_LEVEL): Add.
- Set to YES/NO depending on whether WK_FORCE_OPTIMIZATION_LEVEL
  is set.
(GCC_OPTIMIZATION_LEVEL):
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_YES): Add.
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO): Add.
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO_Debug): Rename from GCC_OPTIMIZATION_LEVEL_Debug.
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO_Production): Rename from GCC_OPTIMIZATION_LEVEL_Production.
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO_Release): Rename from GCC_OPTIMIZATION_LEVEL_Release.
- Make use of WK_OVERRIDE_OPTIMIZATION_LEVEL and
  WK_FORCE_OPTIMIZATION_LEVEL to allow overriding the default
  optimization level for sanitizer builds.

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitdirs.pm
trunk/Tools/sanitizer/asan.xcconfig
trunk/Tools/sanitizer/sanitizer.xcconfig




Diff

Modified: trunk/Tools/ChangeLog (290198 => 290199)

--- trunk/Tools/ChangeLog	2022-02-19 05:26:41 UTC (rev 290198)
+++ trunk/Tools/ChangeLog	2022-02-19 07:19:34 UTC (rev 290199)
@@ -1,3 +1,40 @@
+2022-02-18  David Kilzer  
+
+[Tools] Sanitizer builds should obey `set-webkit-configuration --force-optimization-level`
+
+
+
+Reviewed by Brent Fulgham.
+
+* Scripts/webkitdirs.pm:
+(XcodeOptions):
+- Pass WK_FORCE_OPTIMIZATION_LEVEL instead of
+  GCC_OPTIMIZATION_LEVEL if sanitizers are enabled so the
+  optimization level can be overridden in sanitizer.xcconfig.
+
+* sanitizer/asan.xcconfig:
+(WK_NOT_): Remove.
+(WK_NOT_YES): Remove.
+- Move variables to sanitizer.xcconfig.
+
+* sanitizer/sanitizer.xcconfig:
+(WK_EMPTY_): Add.
+(WK_NOT_): Add.
+(WK_NOT_YES): Add.
+- Add utility variables originally from SDKVariant.xcconfig.
+(WK_OVERRIDE_OPTIMIZATION_LEVEL): Add.
+- Set to YES/NO depending on whether WK_FORCE_OPTIMIZATION_LEVEL
+  is set.
+(GCC_OPTIMIZATION_LEVEL):
+(GCC_OPTIMIZATION_LEVEL_OVERRIDE_YES): Add.
+(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO): Add.
+(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO_Debug): Rename from GCC_OPTIMIZATION_LEVEL_Debug.
+(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO_Production): Rename from GCC_OPTIMIZATION_LEVEL_Production.
+(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO_Release): Rename from GCC_OPTIMIZATION_LEVEL_Release.
+- Make use of WK_OVERRIDE_OPTIMIZATION_LEVEL and
+  WK_FORCE_OPTIMIZATION_LEVEL to allow overriding the default
+  optimization level for sanitizer builds.
+
 2022-02-18  Ben Nham  
 
 Hook up PushManager to permission state


Modified: trunk/Tools/Scripts/webkitdirs.pm (290198 => 290199)

--- trunk/Tools/Scripts/webkitdirs.pm	2022-02-19 05:26:41 UTC (rev 290198)
+++ trunk/Tools/Scripts/webkitdirs.pm	2022-02-19 07:19:34 UTC (rev 290199)
@@ -1032,7 +1032,14 @@
 push @options, ("-xcconfig", File::Spec->catfile(sourceDir(), "Tools", "sanitizer", "ubsan.xcconfig"));
 }
 push @options, XcodeCoverageSupportOptions() if $coverageIsEnabled;
-push @options, ("GCC_OPTIMIZATION_LEVEL=$forceOptimizationLevel") if $forceOptimizationLevel;
+if ($forceOptimizationLevel) {
+if ($asanIsEnabled || $tsanIsEnabled || $ubsanIsEnabled) {
+# Command-line Xcode variable won't override that same varible set in a command-line xcconfig file.
+push @options, "WK_FORCE_OPTIMIZATION_LEVEL=$forceOptimizationLevel";
+} else {
+push @options, "GCC_OPTIMIZATION_LEVEL=$forceOptimizationLevel";
+}
+}
 push @options, "WK_LTO_MODE=$ltoMode" if $ltoMode;
 push @options, @baseProductDirOption;
 push @options, "ARCHS=$architecture" if $architecture;


Modified: trunk/Tools/sanitizer/asan.xcconfig (290198 => 290199)

--- trunk/Tools/sanitizer/asan.xcconfig	2022-02-19 05:26:41 UTC (rev 290198)
+++ trunk/Tools/sanitizer/asan.xcconfig	2022-02-19 07:19:34 UTC (rev 290199)
@@ -13,9 +13,6 @@
 // Update after  is fixed.
 WK_NEEDS_ASAN_USE_AFTER_SCOPE_WORKAROUND_FOR_bmalloc_YES = -DWK_WORKAROUND_RDAR_87613908_ASAN_STACK_USE_AFTER_SCOPE;
 
-WK_NOT_ = YES;
-WK_NOT_YES = NO;
-
 WK_NEEDS_ASAN_USE_AFTER_SCOPE_WORKAROUND = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_13_3_$(XCODE_VERSION_MAJOR)));
 
 

[webkit-changes] [290198] trunk

2022-02-18 Thread nham
Title: [290198] trunk








Revision 290198
Author n...@apple.com
Date 2022-02-18 21:26:41 -0800 (Fri, 18 Feb 2022)


Log Message
Hook up PushManager to permission state
https://bugs.webkit.org/show_bug.cgi?id=236739

Reviewed by Brady Eidson.

Source/WebCore:

This implements PushManager.permissionState. It returns the same value as
Notification.permission through the same mechanism.

This also makes PushManager.subscribe request permission from the user to show notifications
if the permission is in the default state and these requirements are met:

1. The caller is a document with the same origin as a top level document. This means that
   cross-origin iframes cannot request push permissions. This matches Chrome's behavior.
2. The caller cannot be a service worker. This limitation is allowed for by the spec.

There also needs to be some code added which removes a push subscription if the user deletes
the subscription entirely in the UI, for instance when the UIProcess calls
WKNotificationManagerProviderDidRemoveNotificationPolicies. That will be handled in a
separate patch.

Covered by new layout tests.

* Modules/push-api/PushManager.cpp:
(WebCore::PushManager::subscribe):
(WebCore::PushManager::getSubscription):
(WebCore::PushManager::permissionState):

Source/WebKit:

Update comment explaining why we still have a permission state stub in webpushd.

* webpushd/WebPushDaemon.mm:
(WebPushD::Daemon::getPushPermissionState):

Tools:

Made the WebPushD API tests work now that subscribe checks for permission.

* TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:

LayoutTests:

Added tests that make sure that PushManager.permissionState() and PushManager.subscribe()
respect the notification permission level for the current origin.

I made these regular tests rather than WPT tests because the WPT test harness calls
grantWebNotificationPermission at the top of its setup script (in testharnessreport.js), and
I didn't want to change that for this patch.

* http/tests/push-api/resources/push-api-test-pre.js: Added.
(finishPushAPITest):
(waitForState):
* http/tests/push-api/resources/subscribe-iframe-cross-origin.html: Added.
* http/tests/push-api/resources/subscribe-iframe-same-origin.html: Added.
* http/tests/push-api/resources/subscribe-tests.js: Added.
(async testServiceWorkerPermissionState):
(async testDocumentPermissionState):
(async testServiceWorkerSubscribe):
(async testDocumentSubscribe):
* http/tests/push-api/resources/subscribe-worker.js: Added.
(async event):
* http/tests/push-api/subscribe-default-permissions-expected.txt: Added.
* http/tests/push-api/subscribe-default-permissions-iframe-cross-origin-expected.txt: Added.
* http/tests/push-api/subscribe-default-permissions-iframe-cross-origin.html: Added.
* http/tests/push-api/subscribe-default-permissions-iframe-same-origin-expected.txt: Added.
* http/tests/push-api/subscribe-default-permissions-iframe-same-origin.html: Added.
* http/tests/push-api/subscribe-default-permissions.html: Added.
* http/tests/push-api/subscribe-deny-permissions-expected.txt: Added.
* http/tests/push-api/subscribe-deny-permissions.html: Added.
* http/tests/push-api/subscribe-grant-permissions-expected.txt: Added.
* http/tests/push-api/subscribe-grant-permissions.html: Added.
* platform/gtk/TestExpectations:
* platform/mac-wk1/TestExpectations:
* platform/win/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/gtk/TestExpectations
trunk/LayoutTests/platform/mac-wk1/TestExpectations
trunk/LayoutTests/platform/win/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/push-api/PushManager.cpp
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/webpushd/WebPushDaemon.mm
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm


Added Paths

trunk/LayoutTests/http/tests/push-api/
trunk/LayoutTests/http/tests/push-api/resources/
trunk/LayoutTests/http/tests/push-api/resources/push-api-test-pre.js
trunk/LayoutTests/http/tests/push-api/resources/subscribe-iframe-cross-origin.html
trunk/LayoutTests/http/tests/push-api/resources/subscribe-iframe-same-origin.html
trunk/LayoutTests/http/tests/push-api/resources/subscribe-tests.js
trunk/LayoutTests/http/tests/push-api/resources/subscribe-worker.js
trunk/LayoutTests/http/tests/push-api/subscribe-default-permissions-expected.txt
trunk/LayoutTests/http/tests/push-api/subscribe-default-permissions-iframe-cross-origin-expected.txt
trunk/LayoutTests/http/tests/push-api/subscribe-default-permissions-iframe-cross-origin.html
trunk/LayoutTests/http/tests/push-api/subscribe-default-permissions-iframe-same-origin-expected.txt
trunk/LayoutTests/http/tests/push-api/subscribe-default-permissions-iframe-same-origin.html
trunk/LayoutTests/http/tests/push-api/subscribe-default-permissions.html
trunk/LayoutTests/http/tests/push-api/subscribe-deny-permissions-expected.txt
trunk/LayoutTests/http/tests/push-api/subscribe-deny-permissions.html

[webkit-changes] [290197] trunk

2022-02-18 Thread ntim
Title: [290197] trunk








Revision 290197
Author n...@apple.com
Date 2022-02-18 20:27:39 -0800 (Fri, 18 Feb 2022)


Log Message
Stop propagating inertness through iframes in Node::deprecatedIsInert()
https://bugs.webkit.org/show_bug.cgi?id=236512

Reviewed by Chris Dumez.

This is only a bug for Node::deprecatedIsInert(), so it only affects focus. Selection APIs, etc. weren't affected
before this bug.

LayoutTests/imported/w3c:

* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames-expected.txt:

Source/WebCore:

Test: web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames.html

* dom/Node.cpp:
(WebCore::Node::deprecatedIsInert const):

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Node.cpp




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (290196 => 290197)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2022-02-19 04:14:04 UTC (rev 290196)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2022-02-19 04:27:39 UTC (rev 290197)
@@ -1,5 +1,17 @@
 2022-02-18  Tim Nguyen  
 
+Stop propagating inertness through iframes in Node::deprecatedIsInert()
+https://bugs.webkit.org/show_bug.cgi?id=236512
+
+Reviewed by Chris Dumez.
+
+This is only a bug for Node::deprecatedIsInert(), so it only affects focus. Selection APIs, etc. weren't affected
+before this bug.
+
+* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames-expected.txt:
+
+2022-02-18  Tim Nguyen  
+
 Re-import inert and  WPT
 https://bugs.webkit.org/show_bug.cgi?id=236808
 


Modified: trunk/Source/WebCore/ChangeLog (290196 => 290197)

--- trunk/Source/WebCore/ChangeLog	2022-02-19 04:14:04 UTC (rev 290196)
+++ trunk/Source/WebCore/ChangeLog	2022-02-19 04:27:39 UTC (rev 290197)
@@ -1,3 +1,18 @@
+2022-02-18  Tim Nguyen  
+
+Stop propagating inertness through iframes in Node::deprecatedIsInert()
+https://bugs.webkit.org/show_bug.cgi?id=236512
+
+Reviewed by Chris Dumez.
+
+This is only a bug for Node::deprecatedIsInert(), so it only affects focus. Selection APIs, etc. weren't affected
+before this bug.
+
+Test: web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames.html
+
+* dom/Node.cpp:
+(WebCore::Node::deprecatedIsInert const):
+
 2022-02-18  Commit Queue  
 
 Unreviewed, reverting r290188.


Modified: trunk/Source/WebCore/dom/Node.cpp (290196 => 290197)

--- trunk/Source/WebCore/dom/Node.cpp	2022-02-19 04:14:04 UTC (rev 290196)
+++ trunk/Source/WebCore/dom/Node.cpp	2022-02-19 04:27:39 UTC (rev 290197)
@@ -2634,10 +2634,7 @@
 }
 }
 
-if (!document().frame() || !document().frame()->ownerElement())
-return false;
-
-return document().frame()->ownerElement()->deprecatedIsInert();
+return false;
 }
 
 template<> ContainerNode* parent(const Node& node)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290196] trunk

2022-02-18 Thread sihui_liu
Title: [290196] trunk








Revision 290196
Author sihui_...@apple.com
Date 2022-02-18 20:14:04 -0800 (Fri, 18 Feb 2022)


Log Message
Source/WebKit:
Add assertion that no two network sessions share the same storage path
https://bugs.webkit.org/show_bug.cgi?id=236844

Reviewed by Chris Dumez.

Each NetworkStorageManager has its own queue and accesses the storage files on that queue, so we can't have two
NetworkworkStorageManagers use the same path, as the path may be accessed concurrently and cause corruption.
Currently we have an SPI for setting custom generalStorageDirectory for WebsiteDataStore (in
_WKWebsiteDataStoreConfiguration), which means SPI clients can create two sessions with the same path in theory.
Let's add an assertion to ensure that does not happen.

This assertion has helped find a bug in WebKitTestRunner that we didn't set custom generalStorageDirectory for a
custom WebsiteDataStore (so it's using the same path as default WebsiteDataStore).

* NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::activePaths):
(WebKit::NetworkStorageManager::NetworkStorageManager):
(WebKit::NetworkStorageManager::~NetworkStorageManager):

Tools:
Add assertion that no two network session share the same storage path
https://bugs.webkit.org/show_bug.cgi?id=236844

Reviewed by Chris Dumez.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::configureWebsiteDataStoreTemporaryDirectories):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp
trunk/Tools/ChangeLog
trunk/Tools/WebKitTestRunner/TestController.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (290195 => 290196)

--- trunk/Source/WebKit/ChangeLog	2022-02-19 03:56:45 UTC (rev 290195)
+++ trunk/Source/WebKit/ChangeLog	2022-02-19 04:14:04 UTC (rev 290196)
@@ -1,3 +1,24 @@
+2022-02-18  Sihui Liu  
+
+Add assertion that no two network sessions share the same storage path
+https://bugs.webkit.org/show_bug.cgi?id=236844
+
+Reviewed by Chris Dumez.
+
+Each NetworkStorageManager has its own queue and accesses the storage files on that queue, so we can't have two
+NetworkworkStorageManagers use the same path, as the path may be accessed concurrently and cause corruption. 
+Currently we have an SPI for setting custom generalStorageDirectory for WebsiteDataStore (in 
+_WKWebsiteDataStoreConfiguration), which means SPI clients can create two sessions with the same path in theory.
+Let's add an assertion to ensure that does not happen.
+
+This assertion has helped find a bug in WebKitTestRunner that we didn't set custom generalStorageDirectory for a
+custom WebsiteDataStore (so it's using the same path as default WebsiteDataStore).
+
+* NetworkProcess/storage/NetworkStorageManager.cpp:
+(WebKit::activePaths):
+(WebKit::NetworkStorageManager::NetworkStorageManager):
+(WebKit::NetworkStorageManager::~NetworkStorageManager):
+
 2022-02-18  Per Arne Vollan  
 
 Move content filtering to Networking process


Modified: trunk/Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp (290195 => 290196)

--- trunk/Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp	2022-02-19 03:56:45 UTC (rev 290195)
+++ trunk/Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp	2022-02-19 04:14:04 UTC (rev 290196)
@@ -108,6 +108,12 @@
 FileSystem::deleteFile(filePath);
 }
 
+static HashSet& activePaths()
+{
+static MainThreadNeverDestroyed> paths;
+return paths;
+}
+
 Ref NetworkStorageManager::create(PAL::SessionID sessionID, IPC::Connection::UniqueID connection, const String& path, const String& customLocalStoragePath, const String& customIDBStoragePath, const String& customCacheStoragePath, uint64_t defaultOriginQuota, uint64_t defaultThirdPartyOriginQuota, bool shouldUseCustomPaths)
 {
 return adoptRef(*new NetworkStorageManager(sessionID, connection, path, customLocalStoragePath, customIDBStoragePath, customCacheStoragePath, defaultOriginQuota, defaultThirdPartyOriginQuota, shouldUseCustomPaths));
@@ -122,6 +128,12 @@
 {
 ASSERT(RunLoop::isMain());
 
+// Sessions are not supposed to share the same path, as each session runs on its own queue
+// and this can cause corruption. If the assertion is hit, check if you create multiple
+// WebsiteDataStores with the same generalStorageDirectory.
+if (!path.isEmpty())
+RELEASE_ASSERT(activePaths().add(path).isNewEntry);
+
 m_queue->dispatch([this, protectedThis = Ref { *this }, path = path.isolatedCopy(), customLocalStoragePath = crossThreadCopy(customLocalStoragePath), customIDBStoragePath = crossThreadCopy(customIDBStoragePath), customCacheStoragePath = crossThreadCopy(customCacheStoragePath), shouldUseCustomPaths]() mutable {
 m_fileSystemStorageHandleRegistry = makeUnique();
 m_storageAreaRegistry = makeUnique();
@@ -142,6 +154,9 @@
 {
 

[webkit-changes] [290195] trunk/Source/bmalloc

2022-02-18 Thread ysuzuki
Title: [290195] trunk/Source/bmalloc








Revision 290195
Author ysuz...@apple.com
Date 2022-02-18 19:56:45 -0800 (Fri, 18 Feb 2022)


Log Message
[libpas] Increase scavenger period from 100ms to 125ms in Darwin x64
https://bugs.webkit.org/show_bug.cgi?id=236873

Reviewed by Saam Barati.

Make x64 scavenger less aggressive while maintaining Membuster neutral
to make it less work.

* libpas/src/libpas/pas_config_prefix.h:
* libpas/src/libpas/pas_scavenger.c:
* libpas/src/libpas/pas_utils.h:

Modified Paths

trunk/Source/bmalloc/ChangeLog
trunk/Source/bmalloc/libpas/src/libpas/pas_config_prefix.h
trunk/Source/bmalloc/libpas/src/libpas/pas_scavenger.c
trunk/Source/bmalloc/libpas/src/libpas/pas_utils.h




Diff

Modified: trunk/Source/bmalloc/ChangeLog (290194 => 290195)

--- trunk/Source/bmalloc/ChangeLog	2022-02-19 03:53:08 UTC (rev 290194)
+++ trunk/Source/bmalloc/ChangeLog	2022-02-19 03:56:45 UTC (rev 290195)
@@ -1,3 +1,17 @@
+2022-02-18  Yusuke Suzuki  
+
+[libpas] Increase scavenger period from 100ms to 125ms in Darwin x64
+https://bugs.webkit.org/show_bug.cgi?id=236873
+
+Reviewed by Saam Barati.
+
+Make x64 scavenger less aggressive while maintaining Membuster neutral
+to make it less work.
+
+* libpas/src/libpas/pas_config_prefix.h:
+* libpas/src/libpas/pas_scavenger.c:
+* libpas/src/libpas/pas_utils.h:
+
 2022-02-18  Robert Jenner  
 
 Unreviewed, reverting r290149.


Modified: trunk/Source/bmalloc/libpas/src/libpas/pas_config_prefix.h (290194 => 290195)

--- trunk/Source/bmalloc/libpas/src/libpas/pas_config_prefix.h	2022-02-19 03:53:08 UTC (rev 290194)
+++ trunk/Source/bmalloc/libpas/src/libpas/pas_config_prefix.h	2022-02-19 03:56:45 UTC (rev 290195)
@@ -54,6 +54,18 @@
 
 #define __PAS_ARM (!!__PAS_ARM64 || !!__PAS_ARM32)
 
+#if defined(__i386__) || defined(i386) || defined(_M_IX86) || defined(_X86_) || defined(__THW_INTEL)
+#define __PAS_X86 1
+#else
+#define __PAS_X86 0
+#endif
+
+#if defined(__x86_64__) || defined(_M_X64)
+#define __PAS_X86_64 1
+#else
+#define __PAS_X86_64 0
+#endif
+
 #if defined(__riscv)
 #define __PAS_RISCV 1
 #else


Modified: trunk/Source/bmalloc/libpas/src/libpas/pas_scavenger.c (290194 => 290195)

--- trunk/Source/bmalloc/libpas/src/libpas/pas_scavenger.c	2022-02-19 03:53:08 UTC (rev 290194)
+++ trunk/Source/bmalloc/libpas/src/libpas/pas_scavenger.c	2022-02-19 03:56:45 UTC (rev 290195)
@@ -61,7 +61,11 @@
 double pas_scavenger_period_in_milliseconds = 10.;
 uint64_t pas_scavenger_max_epoch_delta = 10ll * 1000ll * 1000ll;
 #else
+#if PAS_OS(DARWIN) && PAS_X86_64
+double pas_scavenger_period_in_milliseconds = 125.;
+#else
 double pas_scavenger_period_in_milliseconds = 100.;
+#endif
 uint64_t pas_scavenger_max_epoch_delta = 300ll * 1000ll * 1000ll;
 #endif
 


Modified: trunk/Source/bmalloc/libpas/src/libpas/pas_utils.h (290194 => 290195)

--- trunk/Source/bmalloc/libpas/src/libpas/pas_utils.h	2022-02-19 03:53:08 UTC (rev 290194)
+++ trunk/Source/bmalloc/libpas/src/libpas/pas_utils.h	2022-02-19 03:56:45 UTC (rev 290195)
@@ -84,6 +84,9 @@
 
 #define PAS_ARM __PAS_ARM
 
+#define PAS_X86 __PAS_X86
+#define PAS_X86_64 __PAS_X86_64
+
 #define PAS_RISCV __PAS_RISCV
 
 #if PAS_ARM64 && !PAS_ARM64E && !PAS_OS(MAC) && !defined(__ARM_FEATURE_ATOMICS)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290194] trunk/Source/JavaScriptCore

2022-02-18 Thread ysuzuki
Title: [290194] trunk/Source/_javascript_Core








Revision 290194
Author ysuz...@apple.com
Date 2022-02-18 19:53:08 -0800 (Fri, 18 Feb 2022)


Log Message
[JSC] Make ArrayPrototype just an array
https://bugs.webkit.org/show_bug.cgi?id=236869

Reviewed by Saam Barati.

Originally, ArrayPrototype has slightly different memory layout & different logic etc.
But now, it is just an array with a lot of properties. We should just make it an array.

* runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
* runtime/ArrayPrototype.h:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp
trunk/Source/_javascript_Core/runtime/ArrayPrototype.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (290193 => 290194)

--- trunk/Source/_javascript_Core/ChangeLog	2022-02-19 03:21:11 UTC (rev 290193)
+++ trunk/Source/_javascript_Core/ChangeLog	2022-02-19 03:53:08 UTC (rev 290194)
@@ -1,3 +1,17 @@
+2022-02-18  Yusuke Suzuki  
+
+[JSC] Make ArrayPrototype just an array
+https://bugs.webkit.org/show_bug.cgi?id=236869
+
+Reviewed by Saam Barati.
+
+Originally, ArrayPrototype has slightly different memory layout & different logic etc.
+But now, it is just an array with a lot of properties. We should just make it an array.
+
+* runtime/ArrayPrototype.cpp:
+(JSC::ArrayPrototype::finishCreation):
+* runtime/ArrayPrototype.h:
+
 2022-02-18  Robert Jenner  
 
 Unreviewed, reverting r290149.


Modified: trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp (290193 => 290194)

--- trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp	2022-02-19 03:21:11 UTC (rev 290193)
+++ trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp	2022-02-19 03:53:08 UTC (rev 290194)
@@ -57,8 +57,6 @@
 
 // -- ArrayPrototype 
 
-const ClassInfo ArrayPrototype::s_info = {"Array", ::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(ArrayPrototype)};
-
 ArrayPrototype* ArrayPrototype::create(VM& vm, JSGlobalObject* globalObject, Structure* structure)
 {
 ArrayPrototype* prototype = new (NotNull, allocateCell(vm)) ArrayPrototype(vm, structure);
@@ -76,6 +74,8 @@
 {
 Base::finishCreation(vm);
 ASSERT(inherits(vm, info()));
+ASSERT(info() == JSArray::info());
+ASSERT(type() == ArrayType);
 
 putDirectWithoutTransition(vm, vm.propertyNames->toString, globalObject->arrayProtoToStringFunction(), static_cast(PropertyAttribute::DontEnum));
 putDirectWithoutTransition(vm, vm.propertyNames->builtinNames().valuesPublicName(), globalObject->arrayProtoValuesFunction(), static_cast(PropertyAttribute::DontEnum));


Modified: trunk/Source/_javascript_Core/runtime/ArrayPrototype.h (290193 => 290194)

--- trunk/Source/_javascript_Core/runtime/ArrayPrototype.h	2022-02-19 03:21:11 UTC (rev 290193)
+++ trunk/Source/_javascript_Core/runtime/ArrayPrototype.h	2022-02-19 03:53:08 UTC (rev 290194)
@@ -24,23 +24,17 @@
 
 namespace JSC {
 
+// This is a simple JSArray, only including some special initialization sequence.
+// We must not have special ArrayPrototype::info.
 class ArrayPrototype final : public JSArray {
 public:
 using Base = JSArray;
 
-enum class SpeciesWatchpointStatus {
-Uninitialized,
-Initialized,
-Fired
-};
-
 static ArrayPrototype* create(VM&, JSGlobalObject*, Structure*);
-
-DECLARE_EXPORT_INFO;
 
 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
 {
-return Structure::create(vm, globalObject, prototype, TypeInfo(DerivedArrayType, StructureFlags), info(), ArrayClass);
+return Base::createStructure(vm, globalObject, prototype, ArrayClass);
 }
 
 private:






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290192] trunk/LayoutTests

2022-02-18 Thread ryanhaddad
Title: [290192] trunk/LayoutTests








Revision 290192
Author ryanhad...@apple.com
Date 2022-02-18 18:47:22 -0800 (Fri, 18 Feb 2022)


Log Message
http/wpt/push-api/onpush-disabled.html fails (incremental build issue?)
https://bugs.webkit.org/show_bug.cgi?id=236874

Unreviewed test gardening.

* TestExpectations: Mark test as failing to reduce impact on EWS.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (290191 => 290192)

--- trunk/LayoutTests/ChangeLog	2022-02-19 02:09:33 UTC (rev 290191)
+++ trunk/LayoutTests/ChangeLog	2022-02-19 02:47:22 UTC (rev 290192)
@@ -1,3 +1,12 @@
+2022-02-18  Ryan Haddad  
+
+http/wpt/push-api/onpush-disabled.html fails (incremental build issue?)
+https://bugs.webkit.org/show_bug.cgi?id=236874
+
+Unreviewed test gardening.
+
+* TestExpectations: Mark test as failing to reduce impact on EWS.
+
 2022-02-18  Matteo Flores  
 
 REGRESSION(r287249): [ Monterey wk2 ] media/media-source/media-webm-vorbis-partial.html is a constant text failure


Modified: trunk/LayoutTests/TestExpectations (290191 => 290192)

--- trunk/LayoutTests/TestExpectations	2022-02-19 02:09:33 UTC (rev 290191)
+++ trunk/LayoutTests/TestExpectations	2022-02-19 02:47:22 UTC (rev 290192)
@@ -5176,5 +5176,7 @@
 js/dom/reflect-set-onto-dom.html [ Skip ]
 userscripts/user-script-plugin-document.html [ Skip ]
 
+webkit.org/b/236874 http/wpt/push-api/onpush-disabled.html [ Failure ]
+
 # This is marked as passing on WK2.
 fast/canvas/large-getImageData.html [ Skip ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290191] trunk/LayoutTests

2022-02-18 Thread jenner
Title: [290191] trunk/LayoutTests








Revision 290191
Author jen...@apple.com
Date 2022-02-18 18:09:33 -0800 (Fri, 18 Feb 2022)


Log Message
REGRESSION(r287249): [ Monterey wk2 ] media/media-source/media-webm-vorbis-partial.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=236857

Unreviewed test gardening.

Patch by Matteo Flores  on 2022-02-18

* platform/mac-bigsur/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt.
* platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Rebaslining due to test changes.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt


Added Paths

trunk/LayoutTests/platform/mac-bigsur/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (290190 => 290191)

--- trunk/LayoutTests/ChangeLog	2022-02-19 01:03:29 UTC (rev 290190)
+++ trunk/LayoutTests/ChangeLog	2022-02-19 02:09:33 UTC (rev 290191)
@@ -1,3 +1,13 @@
+2022-02-18  Matteo Flores  
+
+REGRESSION(r287249): [ Monterey wk2 ] media/media-source/media-webm-vorbis-partial.html is a constant text failure
+https://bugs.webkit.org/show_bug.cgi?id=236857
+
+Unreviewed test gardening.
+
+* platform/mac-bigsur/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt.
+* platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Rebaslining due to test changes.
+
 2022-02-18  Wenson Hsieh  
 
 [Live Text] Add a mechanism to inject images into image overlays


Modified: trunk/LayoutTests/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt (290190 => 290191)

--- trunk/LayoutTests/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt	2022-02-19 01:03:29 UTC (rev 290190)
+++ trunk/LayoutTests/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt	2022-02-19 02:09:33 UTC (rev 290191)
@@ -11,14 +11,14 @@
 RenderInline {SPAN} at (0,0) size 114x14 [color=#FF] [border: (1px solid #008000) none (1px solid #FF) none]
   RenderText {#text} at (662,8) size 114x12
 text run at (662,8) width 114 RTL: "\x{628}\x{62F}\x{621} \x{627}\x{644}\x{645}\x{64D} \x{641}\x{64A} \x{62A}\x{62D}\x{637}\x{645} \x{644}\x{62C}\x{645}\x{64E}\x{651}\x{644} \x{627}\x{644}\x{627}\x{633}\x{628}\x{627}\x{646}\x{64A}\x{629}"
-RenderBR {BR} at (662,17) size 1x0
+RenderBR {BR} at (662,8) size 1x12
 RenderText {#text} at (639,21) size 137x12
   text run at (639,21) width 137 RTL: "\x{628}\x{62F}\x{621} \x{627}\x{644}\x{62A}\x{62D}\x{642}\x{64A}\x{642} \x{641}\x{64A} \x{62A}\x{62D}\x{637}\x{645} \x{627}\x{644}\x{637}\x{627}\x{626}\x{631}\x{629} \x{627}\x{644}\x{627}\x{633}\x{628}\x{627}\x{646}\x{64A}\x{629}"
   RenderBlock {DIV} at (0,84) size 784x50 [bgcolor=#D3D3D3]
-RenderInline {SPAN} at (0,0) size 137x17 [color=#FF] [border: (1px solid #008000) none (1px solid #FF) none]
-  RenderText {#text} at (639,9) size 137x15
-text run at (639,9) width 137 RTL: "\x{628}\x{62F}\x{621} \x{627}\x{644}\x{645}\x{64D} \x{641}\x{64A} \x{62A}\x{62D}\x{637}\x{645} \x{644}\x{62C}\x{645}\x{64E}\x{651}\x{644} \x{627}\x{644}\x{627}\x{633}\x{628}\x{627}\x{646}\x{64A}\x{629}"
-RenderBR {BR} at (639,20) size 1x0
+RenderInline {SPAN} at (0,0) size 136x17 [color=#FF] [border: (1px solid #008000) none (1px solid #FF) none]
+  RenderText {#text} at (640,9) size 136x15
+text run at (640,9) width 136 RTL: "\x{628}\x{62F}\x{621} \x{627}\x{644}\x{645}\x{64D} \x{641}\x{64A} \x{62A}\x{62D}\x{637}\x{645} \x{644}\x{62C}\x{645}\x{64E}\x{651}\x{644} \x{627}\x{644}\x{627}\x{633}\x{628}\x{627}\x{646}\x{64A}\x{629}"
+RenderBR {BR} at (640,9) size 1x15
 RenderText {#text} at (612,26) size 164x15
   text run at (612,26) width 164 RTL: "\x{628}\x{62F}\x{621} \x{627}\x{644}\x{62A}\x{62D}\x{642}\x{64A}\x{642} \x{641}\x{64A} \x{62A}\x{62D}\x{637}\x{645} \x{627}\x{644}\x{637}\x{627}\x{626}\x{631}\x{629} \x{627}\x{644}\x{627}\x{633}\x{628}\x{627}\x{646}\x{64A}\x{629}"
   RenderBlock {DIV} at (0,142) size 784x56 [bgcolor=#D3D3D3]
@@ -25,27 +25,27 @@
 RenderInline {SPAN} at (0,0) size 159x20 [color=#FF] [border: (1px solid #008000) none (1px solid #FF) none]
   RenderText {#text} at (617,9) size 159x18
 text run at (617,9) width 159 RTL: "\x{628}\x{62F}\x{621} \x{627}\x{644}\x{645}\x{64D} \x{641}\x{64A} \x{62A}\x{62D}\x{637}\x{645} 

[webkit-changes] [290190] trunk/Source/WebGPU

2022-02-18 Thread mmaxfield
Title: [290190] trunk/Source/WebGPU








Revision 290190
Author mmaxfi...@apple.com
Date 2022-02-18 17:03:29 -0800 (Fri, 18 Feb 2022)


Log Message
[WebGPU] Any object-creation function that takes a descriptor can fail
https://bugs.webkit.org/show_bug.cgi?id=236855

Reviewed by Dean Jackson.

Generally, we view allocation failure as catastrophic, and crash. Because of that, I originally
made these methods return Refs, because I expected the failure case to cause intentional crashes
rather than return nullptr.

However, descriptors the shared header have a nextInChain pointer, which allows callers to pass
in extra extension-specific structs, as a linked list. If the WebGPU implementation sees one of
these extra structs that it doesn't know what to do with, it has to fail. That means that it's
possible to fail in a way other than an allocation failure, which means these functions have to
return RefPtrs instead of Refs.

* WebGPU/Adapter.h:
* WebGPU/Adapter.mm:
(WebGPU::Adapter::requestDevice):
(wgpuAdapterRequestDevice):
* WebGPU/CommandEncoder.h:
* WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::beginComputePass):
(WebGPU::CommandEncoder::beginRenderPass):
(WebGPU::CommandEncoder::finish):
(wgpuCommandEncoderBeginComputePass):
(wgpuCommandEncoderBeginRenderPass):
(wgpuCommandEncoderFinish):
* WebGPU/Device.h:
* WebGPU/Device.mm:
(WebGPU::Device::createBindGroup):
(WebGPU::Device::createBindGroupLayout):
(WebGPU::Device::createBuffer):
(WebGPU::Device::createCommandEncoder):
(WebGPU::Device::createComputePipeline):
(WebGPU::Device::createComputePipelineAsync):
(WebGPU::Device::createPipelineLayout):
(WebGPU::Device::createQuerySet):
(WebGPU::Device::createRenderBundleEncoder):
(WebGPU::Device::createRenderPipeline):
(WebGPU::Device::createRenderPipelineAsync):
(WebGPU::Device::createSampler):
(WebGPU::Device::createShaderModule):
(WebGPU::Device::createSwapChain):
(WebGPU::Device::createTexture):
(WebGPU::Device::getQueue):
(wgpuDeviceCreateBindGroup):
(wgpuDeviceCreateBindGroupLayout):
(wgpuDeviceCreateBuffer):
(wgpuDeviceCreateCommandEncoder):
(wgpuDeviceCreateComputePipeline):
(wgpuDeviceCreateComputePipelineAsync):
(wgpuDeviceCreatePipelineLayout):
(wgpuDeviceCreateQuerySet):
(wgpuDeviceCreateRenderBundleEncoder):
(wgpuDeviceCreateRenderPipeline):
(wgpuDeviceCreateRenderPipelineAsync):
(wgpuDeviceCreateSampler):
(wgpuDeviceCreateShaderModule):
(wgpuDeviceCreateSwapChain):
(wgpuDeviceCreateTexture):
(wgpuDeviceGetQueue):
* WebGPU/Instance.h:
* WebGPU/Instance.mm:
(WebGPU::Instance::createSurface):
(wgpuInstanceCreateSurface):
* WebGPU/RenderBundleEncoder.h:
* WebGPU/RenderBundleEncoder.mm:
(WebGPU::RenderBundleEncoder::finish):
(wgpuRenderBundleEncoderFinish):
* WebGPU/Texture.h:
* WebGPU/Texture.mm:
(WebGPU::Texture::createView):
(wgpuTextureCreateView):

Modified Paths

trunk/Source/WebGPU/ChangeLog
trunk/Source/WebGPU/WebGPU/Adapter.h
trunk/Source/WebGPU/WebGPU/Adapter.mm
trunk/Source/WebGPU/WebGPU/CommandEncoder.h
trunk/Source/WebGPU/WebGPU/CommandEncoder.mm
trunk/Source/WebGPU/WebGPU/Device.h
trunk/Source/WebGPU/WebGPU/Device.mm
trunk/Source/WebGPU/WebGPU/Instance.h
trunk/Source/WebGPU/WebGPU/Instance.mm
trunk/Source/WebGPU/WebGPU/RenderBundleEncoder.h
trunk/Source/WebGPU/WebGPU/RenderBundleEncoder.mm
trunk/Source/WebGPU/WebGPU/Texture.h
trunk/Source/WebGPU/WebGPU/Texture.mm




Diff

Modified: trunk/Source/WebGPU/ChangeLog (290189 => 290190)

--- trunk/Source/WebGPU/ChangeLog	2022-02-19 01:02:27 UTC (rev 290189)
+++ trunk/Source/WebGPU/ChangeLog	2022-02-19 01:03:29 UTC (rev 290190)
@@ -1,3 +1,79 @@
+2022-02-18  Myles C. Maxfield  
+
+[WebGPU] Any object-creation function that takes a descriptor can fail
+https://bugs.webkit.org/show_bug.cgi?id=236855
+
+Reviewed by Dean Jackson.
+
+Generally, we view allocation failure as catastrophic, and crash. Because of that, I originally
+made these methods return Refs, because I expected the failure case to cause intentional crashes
+rather than return nullptr.
+
+However, descriptors the shared header have a nextInChain pointer, which allows callers to pass
+in extra extension-specific structs, as a linked list. If the WebGPU implementation sees one of
+these extra structs that it doesn't know what to do with, it has to fail. That means that it's
+possible to fail in a way other than an allocation failure, which means these functions have to
+return RefPtrs instead of Refs.
+
+* WebGPU/Adapter.h:
+* WebGPU/Adapter.mm:
+(WebGPU::Adapter::requestDevice):
+(wgpuAdapterRequestDevice):
+* WebGPU/CommandEncoder.h:
+* WebGPU/CommandEncoder.mm:
+(WebGPU::CommandEncoder::beginComputePass):
+(WebGPU::CommandEncoder::beginRenderPass):
+(WebGPU::CommandEncoder::finish):
+(wgpuCommandEncoderBeginComputePass):
+(wgpuCommandEncoderBeginRenderPass):
+(wgpuCommandEncoderFinish):
+

[webkit-changes] [290189] trunk/Source

2022-02-18 Thread pvollan
Title: [290189] trunk/Source








Revision 290189
Author pvol...@apple.com
Date 2022-02-18 17:02:27 -0800 (Fri, 18 Feb 2022)


Log Message
Move content filtering to Networking process
https://bugs.webkit.org/show_bug.cgi?id=233760


Reviewed by Brent Fulgham.

Source/WebCore:

Remove content filtering from DocumentLoader when the feature is enabled, since this takes place in the WebContent process.
Modify the ContentFilter class by removing use of the types CachedResoure and CachedRawResource, since objects of these
types are not available in the Networking process. Parameters with these types are replaced with URL parameters.
The new behavior is behind a feature flag, which is not enabled in this patch.

* WebCore.xcodeproj/project.pbxproj:
* loader/ContentFilter.cpp:
(WebCore::ContentFilter::startFilteringMainResource):
(WebCore::ContentFilter::stopFilteringMainResource):
(WebCore::ContentFilter::continueAfterResponseReceived):
(WebCore::ContentFilter::continueAfterDataReceived):
(WebCore::ContentFilter::continueAfterNotifyFinished):
(WebCore::ContentFilter::didDecide):
(WebCore::ContentFilter::deliverResourceData):
(WebCore::ContentFilter::url):
(WebCore::ContentFilter::deliverStoredResourceData):
* loader/ContentFilter.h:
(WebCore::ContentFilter::blockedError const):
(WebCore::ContentFilter::isAllowed const):
(WebCore::ContentFilter::responseReceived const):
* loader/ContentFilterClient.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::notifyFinished):
(WebCore::DocumentLoader::willSendRequest):
(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::dataReceived):
(WebCore::DocumentLoader::detachFromFrame):
(WebCore::DocumentLoader::startLoadingMainResource):
(WebCore::DocumentLoader::clearMainResource):
(WebCore::DocumentLoader::becomeMainResourceClient):
(WebCore::DocumentLoader::contentFilterDidBlock):
(WebCore::DocumentLoader::handleContentFilterDidBlock):
(WebCore::DocumentLoader::handleContentFilterProvisionalLoadFailure):
(WebCore::DocumentLoader::contentFilterWillHandleProvisionalLoadFailure):
(WebCore::DocumentLoader::contentFilterHandleProvisionalLoadFailure):
* loader/DocumentLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchDidFailProvisionalLoad):
* loader/PolicyChecker.cpp:
(WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy):
* loader/SubstituteData.h:
(WebCore::SubstituteData::encode const):
(WebCore::SubstituteData::decode):
* platform/cocoa/ContentFilterUnblockHandlerCocoa.mm:
(WebCore::ContentFilterUnblockHandler::canHandleRequest const):

Source/WebKit:

Move content filtering from the DocumentLoader class in the WebProcess to the NetworkResourceLoader class in the
Networking process. The NetworkResourceLoader is now a client of the content filter, and will send messages
to the DocumentLoader in the WebProcess to cancel the load when the content filter decided to block the load.
If the content filter is providing replacement data, this will also be sent over IPC to the WebProcess.
Data is not being sent to the WebProcess until the content filter has decided to allow the load, if content
filtering is enabled.

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::startContentFiltering):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::bufferingTimerFired):
(WebKit::NetworkResourceLoader::sendBuffer):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
(WebKit::NetworkResourceLoader::sendResultForCacheEntry):
(WebKit::NetworkResourceLoader::dataReceivedThroughContentFilter):
(WebKit::NetworkResourceLoader::contentFilterDidBlock):
(WebKit::NetworkResourceLoader::cancelMainResourceLoadForContentFilter):
(WebKit::NetworkResourceLoader::handleProvisionalLoadFailureFromContentFilter):
* NetworkProcess/NetworkResourceLoader.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::reloadAfterUnblockedContentFilter):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::contentFilterDidBlockLoad):
(WebKit::WebResourceLoader::cancelMainResourceLoadForContentFilter):
(WebKit::WebResourceLoader::handleProvisionalLoadFailureFromContentFilter):
(WebKit::WebResourceLoader::reload):
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Network/WebResourceLoader.messages.in:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/loader/ContentFilter.cpp
trunk/Source/WebCore/loader/ContentFilter.h
trunk/Source/WebCore/loader/ContentFilterClient.h
trunk/Source/WebCore/loader/DocumentLoader.cpp
trunk/Source/WebCore/loader/DocumentLoader.h
trunk/Source/WebCore/loader/FrameLoader.cpp
trunk/Source/WebCore/loader/PolicyChecker.cpp

[webkit-changes] [290187] trunk/Source/WebKit

2022-02-18 Thread pvollan
Title: [290187] trunk/Source/WebKit








Revision 290187
Author pvol...@apple.com
Date 2022-02-18 16:52:16 -0800 (Fri, 18 Feb 2022)


Log Message
[iOS] Add required Mach service to the sandbox of the GPU process
https://bugs.webkit.org/show_bug.cgi?id=236860

Reviewed by Darin Adler.

* Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb




Diff

Modified: trunk/Source/WebKit/ChangeLog (290186 => 290187)

--- trunk/Source/WebKit/ChangeLog	2022-02-19 00:44:12 UTC (rev 290186)
+++ trunk/Source/WebKit/ChangeLog	2022-02-19 00:52:16 UTC (rev 290187)
@@ -1,3 +1,12 @@
+2022-02-18  Per Arne Vollan  
+
+[iOS] Add required Mach service to the sandbox of the GPU process
+https://bugs.webkit.org/show_bug.cgi?id=236860
+
+Reviewed by Darin Adler.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
+
 2022-02-18  Devin Rousso  
 
 [iOS] Safari can sometimes hang while printing due to sync IPC


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb (290186 => 290187)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb	2022-02-19 00:44:12 UTC (rev 290186)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb	2022-02-19 00:52:16 UTC (rev 290187)
@@ -100,6 +100,7 @@
(global-name "com.apple.coremedia.cpe.xpc") ; Needed for HDR playback.
(global-name "com.apple.coremedia.customurlloader.xpc") ; Needed for custom media loading
(global-name "com.apple.coremedia.formatreader.xpc")
+   (global-name "com.apple.coremedia.mediaparserd.formatreader.xpc")
(global-name "com.apple.coremedia.player.xpc")
(global-name "com.apple.coremedia.remaker")
(global-name "com.apple.coremedia.remotequeue")






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290186] trunk/Source

2022-02-18 Thread drousso
Title: [290186] trunk/Source








Revision 290186
Author drou...@apple.com
Date 2022-02-18 16:44:12 -0800 (Fri, 18 Feb 2022)


Log Message
[iOS] Safari can sometimes hang while printing due to sync IPC
https://bugs.webkit.org/show_bug.cgi?id=236811


Reviewed by Aditya Keerthi.

Source/WebKit:

* UIProcess/_WKWebViewPrintFormatter.h:
* UIProcess/_WKWebViewPrintFormatterInternal.h:
* UIProcess/_WKWebViewPrintFormatter.mm:
(-[_WKWebViewPrintFormatter requiresMainThread]): Added.
Adopt new UIKit SPI for allowing `UIPrintFormatter` to be called off the main thread.

* UIProcess/ios/WKContentView.mm:
(-[WKContentView _processDidExit]):
(-[WKContentView _wk_printFormatterRequiresMainThread]): Added.
(-[WKContentView _wk_pageCountForPrintFormatter:]):
(-[WKContentView _waitForDrawToPDFCallbackIfNeeded:]): Added.
(-[WKContentView _wk_printedDocument:]):
(-[WKContentView _waitForDrawToPDFCallback:]): Deleted.
Reorganize this code to support both sync and async flows.

* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::computePagesForPrintingiOS): Added.
(WebKit::WebPageProxy::drawToPDFiOS): Added.
(WebKit::WebPageProxy::computePagesForPrintingAndDrawToPDF): Deleted.
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
Split `WebPageProxy::computePagesForPrintingAndDrawToPDF` into two methods, as the first
"part" (i.e. `computePagesForPrintingiOS`) is no longer needed with this new UIKit SPI.

* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::computePagesForPrinting):
* UIProcess/API/C/WKPage.cpp:
(WKPageComputePagesForPrinting):
* UIProcess/mac/WKPrintingView.mm:
(-[WKPrintingView _askPageToComputePageRects]):
Have `WebPageProxy::computePagesForPrinting` take a `WebCore::FrameIdentifier` instead of a
`WebFrameProxy*` so that more callers (e.g. `API::FrameHandle`) can use it.

* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView _wk_printFormatterRequiresMainThread]): Added.
By the time `WKPDFView` is asked to print, it should already have all the data necessary to
do so, so there's no reason to not use the main thread (since there's no sync IPC).

Source/WTF:

Adopt new UIKit SPI for allowing `UIPrintFormatter` to be called off the main thread.

* wtf/PlatformHave.h:
Add a `HAVE_UIKIT_BACKGROUND_THREAD_PRINTING` to guard this new behavior.

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/PlatformHave.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/API/C/WKPage.cpp
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
trunk/Source/WebKit/UIProcess/WebPageProxy.h
trunk/Source/WebKit/UIProcess/_WKWebViewPrintFormatter.mm
trunk/Source/WebKit/UIProcess/_WKWebViewPrintFormatterInternal.h
trunk/Source/WebKit/UIProcess/ios/WKContentView.mm
trunk/Source/WebKit/UIProcess/ios/WKPDFView.mm
trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
trunk/Source/WebKit/UIProcess/mac/WKPrintingView.mm
trunk/Source/WebKit/WebProcess/WebPage/WebPage.h
trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in
trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm




Diff

Modified: trunk/Source/WTF/ChangeLog (290185 => 290186)

--- trunk/Source/WTF/ChangeLog	2022-02-19 00:40:18 UTC (rev 290185)
+++ trunk/Source/WTF/ChangeLog	2022-02-19 00:44:12 UTC (rev 290186)
@@ -1,3 +1,16 @@
+2022-02-18  Devin Rousso  
+
+[iOS] Safari can sometimes hang while printing due to sync IPC
+https://bugs.webkit.org/show_bug.cgi?id=236811
+
+
+Reviewed by Aditya Keerthi.
+
+Adopt new UIKit SPI for allowing `UIPrintFormatter` to be called off the main thread.
+
+* wtf/PlatformHave.h:
+Add a `HAVE_UIKIT_BACKGROUND_THREAD_PRINTING` to guard this new behavior.
+
 2022-02-18  Robert Jenner  
 
 Unreviewed, reverting r290149.


Modified: trunk/Source/WTF/wtf/PlatformHave.h (290185 => 290186)

--- trunk/Source/WTF/wtf/PlatformHave.h	2022-02-19 00:40:18 UTC (rev 290185)
+++ trunk/Source/WTF/wtf/PlatformHave.h	2022-02-19 00:44:12 UTC (rev 290186)
@@ -1218,3 +1218,7 @@
 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 13) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 16) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 9)
 #define HAVE_SAFE_BROWSING_RESULT_DETAILS 1
 #endif
+
+#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 16)
+#define HAVE_UIKIT_BACKGROUND_THREAD_PRINTING 1
+#endif


Modified: trunk/Source/WebKit/ChangeLog (290185 => 290186)

--- trunk/Source/WebKit/ChangeLog	2022-02-19 00:40:18 UTC (rev 290185)
+++ trunk/Source/WebKit/ChangeLog	2022-02-19 00:44:12 UTC (rev 290186)
@@ -1,3 +1,51 @@
+2022-02-18  Devin Rousso  
+
+[iOS] Safari can sometimes hang while printing due to sync IPC
+https://bugs.webkit.org/show_bug.cgi?id=236811
+
+
+Reviewed by Aditya Keerthi.
+
+* UIProcess/_WKWebViewPrintFormatter.h:
+* UIProcess/_WKWebViewPrintFormatterInternal.h:
+* 

[webkit-changes] [290185] trunk/Tools

2022-02-18 Thread angelos
Title: [290185] trunk/Tools








Revision 290185
Author ange...@igalia.com
Date 2022-02-18 16:40:18 -0800 (Fri, 18 Feb 2022)


Log Message
[JSC] Fix test sharding when using --make-runner and --remote
https://bugs.webkit.org/show_bug.cgi?id=236560

Reviewed by Adrian Perez de Castro.

After https://commits.webkit.org/244496@main, test sharding was broken
for the make runner. Specifically, all remotes would get assigned all
tests (instead of a subset).

Fix this by propagating and using the correct value for remoteHosts.

* Scripts/webkitruby/jsc-stress-test-writer-default.rb:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitruby/jsc-stress-test-writer-default.rb




Diff

Modified: trunk/Tools/ChangeLog (290184 => 290185)

--- trunk/Tools/ChangeLog	2022-02-19 00:28:13 UTC (rev 290184)
+++ trunk/Tools/ChangeLog	2022-02-19 00:40:18 UTC (rev 290185)
@@ -1,3 +1,18 @@
+2022-02-18  Angelos Oikonomopoulos  
+
+[JSC] Fix test sharding when using --make-runner and --remote
+https://bugs.webkit.org/show_bug.cgi?id=236560
+
+Reviewed by Adrian Perez de Castro.
+
+After https://commits.webkit.org/244496@main, test sharding was broken
+for the make runner. Specifically, all remotes would get assigned all
+tests (instead of a subset).
+
+Fix this by propagating and using the correct value for remoteHosts.
+
+* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
+
 2022-02-18  Robert Jenner  
 
 Unreviewed, reverting r290149.


Modified: trunk/Tools/Scripts/webkitruby/jsc-stress-test-writer-default.rb (290184 => 290185)

--- trunk/Tools/Scripts/webkitruby/jsc-stress-test-writer-default.rb	2022-02-19 00:28:13 UTC (rev 290184)
+++ trunk/Tools/Scripts/webkitruby/jsc-stress-test-writer-default.rb	2022-02-19 00:40:18 UTC (rev 290185)
@@ -356,7 +356,7 @@
 outp.puts "\tsh test_script_#{index}"
 target
 end
-def prepareRunnerForRemote(runlist, serialPlans, completedPlans, remoteIndex)
+def prepareRunnerForRemote(runlist, serialPlans, completedPlans, remoteHosts, remoteIndex)
 # The goals of our parallel test runner are scalability and simplicity. The
 # simplicity part is particularly important. We don't want to have to have
 # a full-time contributor just philosophising about parallel testing.
@@ -400,7 +400,7 @@
 if completedPlans.include?(plan)
 next
 end
-if @remoteHosts.nil? or plan.index % @remoteHosts.length == remoteIndex
+if remoteHosts.nil? or plan.index % remoteHosts.length == remoteIndex
 if serialPlans.include?(plan)
 serialRunPlans << plan
 else
@@ -431,11 +431,11 @@
 end
 def prepareRunner(runlist, serialPlans, completedPlans, remoteHosts)
 if remoteHosts.nil?
-prepareRunnerForRemote(runlist, serialPlans, completedPlans, 0)
+prepareRunnerForRemote(runlist, serialPlans, completedPlans, remoteHosts, 0)
 else
 remoteHosts.each_index {
 |remoteIndex|
-prepareRunnerForRemote(runlist, serialPlans, completedPlans, remoteIndex)
+prepareRunnerForRemote(runlist, serialPlans, completedPlans, remoteHosts, remoteIndex)
 }
 end
 end






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290184] trunk/Source

2022-02-18 Thread j_pascoe
Title: [290184] trunk/Source








Revision 290184
Author j_pas...@apple.com
Date 2022-02-18 16:28:13 -0800 (Fri, 18 Feb 2022)


Log Message
[WebAuthn] Support for conditional mediation
https://bugs.webkit.org/show_bug.cgi?id=236820
rdar://84821947

Reviewed by Brent Fulgham and Chris Dumez.

This patch adds support for conditional mediation, as defined in the
credentials management spec: https://w3c.github.io/webappsec-credential-management/#dom-credentialmediationrequirement-conditional

Source/WebCore:

* Modules/credentialmanagement/BasicCredential.cpp:
(WebCore::BasicCredential::isConditionalMediationAvailable):
* Modules/credentialmanagement/BasicCredential.h:
* Modules/credentialmanagement/BasicCredential.idl:
* Modules/credentialmanagement/CredentialRequestOptions.h:
* Modules/credentialmanagement/CredentialRequestOptions.idl:
* Modules/credentialmanagement/CredentialsContainer.cpp:
(WebCore::CredentialsContainer::get):
* Modules/webauthn/AuthenticatorCoordinator.cpp:
(WebCore::AuthenticatorCoordinator::discoverFromExternalSource const):
(WebCore::AuthenticatorCoordinator::isConditionalMediationAvailable const):
* Modules/webauthn/AuthenticatorCoordinator.h:
* Modules/webauthn/AuthenticatorCoordinatorClient.h:
* WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

* Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
* UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::configurationAssertionRequestContext):
(WebKit::WebAuthenticatorCoordinatorProxy::contextForRequest):
(WebKit::WebAuthenticatorCoordinatorProxy::performRequest):
(WebKit::WebAuthenticatorCoordinatorProxy::isConditionalMediationAvailable):
* UIProcess/WebAuthentication/WebAuthenticationRequestData.h:
* UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:
(WebKit::WebAuthenticatorCoordinatorProxy::makeCredential):
(WebKit::WebAuthenticatorCoordinatorProxy::getAssertion):
(WebKit::WebAuthenticatorCoordinatorProxy::isConditionalMediationAvailable):
* UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
* UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in:
* WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:
(WebKit::WebAuthenticatorCoordinator::getAssertion):
* WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/credentialmanagement/BasicCredential.cpp
trunk/Source/WebCore/Modules/credentialmanagement/BasicCredential.h
trunk/Source/WebCore/Modules/credentialmanagement/BasicCredential.idl
trunk/Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.h
trunk/Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.idl
trunk/Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp
trunk/Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp
trunk/Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.h
trunk/Source/WebCore/Modules/webauthn/AuthenticatorCoordinatorClient.h
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm
trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm
trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthenticationRequestData.h
trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp
trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h
trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in
trunk/Source/WebKit/WebAuthnProcess/WebAuthnConnectionToWebProcess.cpp
trunk/Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp
trunk/Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (290183 => 290184)

--- trunk/Source/WebCore/ChangeLog	2022-02-19 00:27:04 UTC (rev 290183)
+++ trunk/Source/WebCore/ChangeLog	2022-02-19 00:28:13 UTC (rev 290184)
@@ -1,3 +1,29 @@
+2022-02-18  J Pascoe  
+
+[WebAuthn] Support for conditional mediation
+https://bugs.webkit.org/show_bug.cgi?id=236820
+rdar://84821947
+
+Reviewed by Brent Fulgham and Chris Dumez.
+
+This patch adds support for conditional mediation, as defined in the
+credentials management spec: https://w3c.github.io/webappsec-credential-management/#dom-credentialmediationrequirement-conditional
+
+* Modules/credentialmanagement/BasicCredential.cpp:
+(WebCore::BasicCredential::isConditionalMediationAvailable):
+* Modules/credentialmanagement/BasicCredential.h:
+* Modules/credentialmanagement/BasicCredential.idl:
+* Modules/credentialmanagement/CredentialRequestOptions.h:
+* Modules/credentialmanagement/CredentialRequestOptions.idl:
+* 

[webkit-changes] [290183] trunk/Source/WebKit

2022-02-18 Thread pvollan
Title: [290183] trunk/Source/WebKit








Revision 290183
Author pvol...@apple.com
Date 2022-02-18 16:27:04 -0800 (Fri, 18 Feb 2022)


Log Message
Remove unneeded sandbox extension code
https://bugs.webkit.org/show_bug.cgi?id=228777


Reviewed by Brent Fulgham.

Since the GPU process is now enabled by default, some related sandbox extension code can be removed.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::mediaRelatedMachServices): Deleted.
(WebKit::mediaRelatedIOKitClasses): Deleted.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_appHighlightsVisible):
* WebProcess/com.apple.WebProcess.sb.in:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
trunk/Source/WebKit/Shared/WebPageCreationParameters.cpp
trunk/Source/WebKit/Shared/WebPageCreationParameters.h
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in




Diff

Modified: trunk/Source/WebKit/ChangeLog (290182 => 290183)

--- trunk/Source/WebKit/ChangeLog	2022-02-19 00:22:29 UTC (rev 290182)
+++ trunk/Source/WebKit/ChangeLog	2022-02-19 00:27:04 UTC (rev 290183)
@@ -1,5 +1,28 @@
 2022-02-18  Per Arne Vollan  
 
+Remove unneeded sandbox extension code
+https://bugs.webkit.org/show_bug.cgi?id=228777
+
+
+Reviewed by Brent Fulgham.
+
+Since the GPU process is now enabled by default, some related sandbox extension code can be removed.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
+* Shared/WebPageCreationParameters.cpp:
+(WebKit::WebPageCreationParameters::encode const):
+(WebKit::WebPageCreationParameters::decode):
+* Shared/WebPageCreationParameters.h:
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::creationParameters):
+(WebKit::mediaRelatedMachServices): Deleted.
+(WebKit::mediaRelatedIOKitClasses): Deleted.
+* WebProcess/WebPage/WebPage.cpp:
+(WebKit::m_appHighlightsVisible):
+* WebProcess/com.apple.WebProcess.sb.in:
+
+2022-02-18  Per Arne Vollan  
+
 [iOS] Add access to required Mach service in the Network process
 https://bugs.webkit.org/show_bug.cgi?id=236853
 


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in (290182 => 290183)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2022-02-19 00:22:29 UTC (rev 290182)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2022-02-19 00:27:04 UTC (rev 290183)
@@ -1091,20 +1091,6 @@
 "com.apple.tccd"
 "com.apple.uikit.viewservice.com.apple.WebContentFilter.remoteUI"
 "com.apple.webinspector"
-
-;;; FIXME(207716): The following should be removed when the GPU process is complete
-"com.apple.airplay.apsynccontroller.xpc" "com.apple.audio.AURemoteIOServer" "com.apple.audio.AudioComponentPrefs" "com.apple.audio.AudioComponentRegistrar"
-"com.apple.audio.AudioQueueServer" "com.apple.audio.AudioSession" "com.apple.coremedia.admin" "com.apple.coremedia.asset.xpc"
-"com.apple.coremedia.assetimagegenerator.xpc" "com.apple.coremedia.audiodeviceclock.xpc" "com.apple.coremedia.audioprocessingtap.xpc"
-"com.apple.coremedia.capturesession" "com.apple.coremedia.capturesource" "com.apple.coremedia.compressionsession" "com.apple.coremedia.cpe.xpc"
-"com.apple.coremedia.cpeprotector.xpc" "com.apple.coremedia.customurlloader.xpc" "com.apple.coremedia.decompressionsession"
-"com.apple.coremedia.endpoint.xpc" "com.apple.coremedia.figcontentkeysession.xpc" "com.apple.coremedia.figcpecryptor"
-"com.apple.coremedia.formatreader.xpc" "com.apple.coremedia.player.xpc" "com.apple.coremedia.remaker" "com.apple.coremedia.remotequeue"
-"com.apple.coremedia.routediscoverer.xpc" "com.apple.coremedia.routingcontext.xpc" "com.apple.coremedia.routingsessionmanager.xpc"
-"com.apple.coremedia.samplebufferaudiorenderer.xpc" "com.apple.coremedia.samplebufferrendersynchronizer.xpc" "com.apple.coremedia.sandboxserver.xpc"
-"com.apple.coremedia.sts" "com.apple.coremedia.systemcontroller.xpc" "com.apple.coremedia.videoqueue" "com.apple.coremedia.volumecontroller.xpc"
-"com.apple.coremedia.visualcontext.xpc" "com.apple.mediaremoted.xpc" "com.apple.accessibility.mediaaccessibilityd"
-;;; FIXME(207716): End services to remove.
 )))
 
 ;; Silence warnings about these connections if we have decided not to 

[webkit-changes] [290182] tags/Safari-613.1.17.0.6/

2022-02-18 Thread alancoon
Title: [290182] tags/Safari-613.1.17.0.6/








Revision 290182
Author alanc...@apple.com
Date 2022-02-18 16:22:29 -0800 (Fri, 18 Feb 2022)


Log Message
Tag Safari-613.1.17.0.6.

Added Paths

tags/Safari-613.1.17.0.6/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290181] tags/Safari-613.1.17.0.6/

2022-02-18 Thread alancoon
Title: [290181] tags/Safari-613.1.17.0.6/








Revision 290181
Author alanc...@apple.com
Date 2022-02-18 16:22:22 -0800 (Fri, 18 Feb 2022)


Log Message
Delete tag.

Removed Paths

tags/Safari-613.1.17.0.6/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290180] trunk/Source/WebKit

2022-02-18 Thread pvollan
Title: [290180] trunk/Source/WebKit








Revision 290180
Author pvol...@apple.com
Date 2022-02-18 16:18:58 -0800 (Fri, 18 Feb 2022)


Log Message
[iOS] Add access to required Mach service in the Network process
https://bugs.webkit.org/show_bug.cgi?id=236853


Reviewed by Darin Adler.

* Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb




Diff

Modified: trunk/Source/WebKit/ChangeLog (290179 => 290180)

--- trunk/Source/WebKit/ChangeLog	2022-02-19 00:03:05 UTC (rev 290179)
+++ trunk/Source/WebKit/ChangeLog	2022-02-19 00:18:58 UTC (rev 290180)
@@ -1,3 +1,13 @@
+2022-02-18  Per Arne Vollan  
+
+[iOS] Add access to required Mach service in the Network process
+https://bugs.webkit.org/show_bug.cgi?id=236853
+
+
+Reviewed by Darin Adler.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
+
 2022-02-18  Robert Jenner  
 
 Unreviewed, reverting r290149.


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb (290179 => 290180)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb	2022-02-19 00:03:05 UTC (rev 290179)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb	2022-02-19 00:18:58 UTC (rev 290180)
@@ -215,6 +215,10 @@
 (allow mach-lookup
(global-name "com.apple.nehelper"))
 
+;; 
+(allow mach-lookup
+(global-name "com.apple.networkserviceproxy.fetch-token"))
+   
 (allow-well-known-system-group-container-literal-read
"/systemgroup.com.apple.nsurlstoragedresources/Library/dafsaData.bin")
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290179] trunk

2022-02-18 Thread jenner
Title: [290179] trunk








Revision 290179
Author jen...@apple.com
Date 2022-02-18 16:03:05 -0800 (Fri, 18 Feb 2022)


Log Message
Unreviewed, reverting r290149.

Broke Debug Builds.

Reverted changeset:

"Generate compile_commands.json on macOS Builds"
https://bugs.webkit.org/show_bug.cgi?id=235686
https://commits.webkit.org/r290149

Modified Paths

trunk/ChangeLog
trunk/Makefile.shared
trunk/PerformanceTests/ChangeLog
trunk/PerformanceTests/DecoderTest/Configurations/DebugRelease.xcconfig
trunk/PerformanceTests/MediaTime/Configurations/DebugRelease.xcconfig
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/Configurations/DebugRelease.xcconfig
trunk/Source/ThirdParty/ANGLE/ChangeLog
trunk/Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig
trunk/Source/ThirdParty/libwebrtc/ChangeLog
trunk/Source/ThirdParty/libwebrtc/Configurations/DebugRelease.xcconfig
trunk/Source/WTF/ChangeLog
trunk/Source/WTF/Configurations/DebugRelease.xcconfig
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Configurations/DebugRelease.xcconfig
trunk/Source/WebCore/PAL/ChangeLog
trunk/Source/WebCore/PAL/Configurations/DebugRelease.xcconfig
trunk/Source/WebGPU/ChangeLog
trunk/Source/WebGPU/Configurations/DebugRelease.xcconfig
trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/Configurations/DebugRelease.xcconfig
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Configurations/DebugRelease.xcconfig
trunk/Source/WebKit/UIProcess/API/C/WKPageUIClient.h
trunk/Source/WebKitLegacy/mac/ChangeLog
trunk/Source/WebKitLegacy/mac/Configurations/DebugRelease.xcconfig
trunk/Source/bmalloc/ChangeLog
trunk/Source/bmalloc/Configurations/DebugRelease.xcconfig
trunk/Tools/ChangeLog
trunk/Tools/ContentExtensionTester/Configurations/DebugRelease.xcconfig
trunk/Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig
trunk/Tools/ImageDiff/cg/Configurations/DebugRelease.xcconfig
trunk/Tools/MiniBrowser/Configurations/DebugRelease.xcconfig
trunk/Tools/Scripts/build-jsc
trunk/Tools/Scripts/build-webkit
trunk/Tools/TestWebKitAPI/Configurations/DebugRelease.xcconfig
trunk/Tools/WebEditingTester/Configurations/DebugRelease.xcconfig
trunk/Tools/WebKitTestRunner/Configurations/DebugRelease.xcconfig
trunk/Tools/lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig


Removed Paths

trunk/Tools/Scripts/generate-compile-commands




Diff

Modified: trunk/ChangeLog (290178 => 290179)

--- trunk/ChangeLog	2022-02-18 23:50:27 UTC (rev 290178)
+++ trunk/ChangeLog	2022-02-19 00:03:05 UTC (rev 290179)
@@ -1,3 +1,15 @@
+2022-02-18  Robert Jenner  
+
+Unreviewed, reverting r290149.
+
+Broke Debug Builds.
+
+Reverted changeset:
+
+"Generate compile_commands.json on macOS Builds"
+https://bugs.webkit.org/show_bug.cgi?id=235686
+https://commits.webkit.org/r290149
+
 2022-02-18  Ryosuke Niwa  
 
 Replace trac URLs in Introduction.md by equivalent GitHub URLs


Modified: trunk/Makefile.shared (290178 => 290179)

--- trunk/Makefile.shared	2022-02-18 23:50:27 UTC (rev 290178)
+++ trunk/Makefile.shared	2022-02-19 00:03:05 UTC (rev 290179)
@@ -47,13 +47,6 @@
 	endif
 endif
 
-ifneq (,$(EXPORT_COMPILE_COMMANDS))
-		XCODE_OPTIONS += EXPORT_COMPILE_COMMANDS=YES
-		XCODE_OPTIONS += GCC_PRECOMPILE_PREFIX_HEADER=NO
-		XCODE_OPTIONS += CLANG_ENABLE_MODULE_DEBUGGING=NO
-		XCODE_OPTIONS += COMPILER_INDEX_STORE_ENABLE=NO
-endif
-
 DEFAULT_VERBOSITY := $(shell defaults read org.webkit.BuildConfiguration BuildTranscriptVerbosity 2>/dev/null || echo "default")
 VERBOSITY ?= $(DEFAULT_VERBOSITY)
 


Modified: trunk/PerformanceTests/ChangeLog (290178 => 290179)

--- trunk/PerformanceTests/ChangeLog	2022-02-18 23:50:27 UTC (rev 290178)
+++ trunk/PerformanceTests/ChangeLog	2022-02-19 00:03:05 UTC (rev 290179)
@@ -1,3 +1,15 @@
+2022-02-18  Robert Jenner  
+
+Unreviewed, reverting r290149.
+
+Broke Debug Builds.
+
+Reverted changeset:
+
+"Generate compile_commands.json on macOS Builds"
+https://bugs.webkit.org/show_bug.cgi?id=235686
+https://commits.webkit.org/r290149
+
 2022-02-18  Brandon Stewart  
 
 Generate compile_commands.json on macOS Builds


Modified: trunk/PerformanceTests/DecoderTest/Configurations/DebugRelease.xcconfig (290178 => 290179)

--- trunk/PerformanceTests/DecoderTest/Configurations/DebugRelease.xcconfig	2022-02-18 23:50:27 UTC (rev 290178)
+++ trunk/PerformanceTests/DecoderTest/Configurations/DebugRelease.xcconfig	2022-02-19 00:03:05 UTC (rev 290179)
@@ -35,9 +35,6 @@
 SDKROOT_ = macosx;
 SDKROOT_YES = macosx.internal;
 
-OTHER_CFLAGS = $(inherited) $(COMPILE_COMMANDS_$(EXPORT_COMPILE_COMMANDS));
-COMPILE_COMMANDS_YES = '-gen-cdb-fragment-path' '$(BUILT_PRODUCTS_DIR)/compile_commands';
-
 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_none);
 
 WK_CCACHE_DIR = $(SRCROOT)/../../Tools/ccache;


Modified: trunk/PerformanceTests/MediaTime/Configurations/DebugRelease.xcconfig (290178 => 290179)

--- 

[webkit-changes] [290178] trunk

2022-02-18 Thread wenson_hsieh
Title: [290178] trunk








Revision 290178
Author wenson_hs...@apple.com
Date 2022-02-18 15:50:27 -0800 (Fri, 18 Feb 2022)


Log Message
[Live Text] Add a mechanism to inject images into image overlays
https://bugs.webkit.org/show_bug.cgi?id=236842

Reviewed by Aditya Keerthi.

Source/WebCore:

To support additional behaviors around the "Copy Cropped Image" context menu item on macOS, add a new image
overlay helper method to install a temporary image element within the image overlay shadow root of a host image.
See below for more details.

Test: fast/images/text-recognition/image-overlay-cropped-image.html

* dom/ImageOverlay.cpp:
(WebCore::ImageOverlay::imageOverlayCroppedImageIdentifier):
(WebCore::ImageOverlay::imageOverlayCroppedImageBackdropIdentifier):
(WebCore::ImageOverlay::isOverlayText):
(WebCore::ImageOverlay::removeOverlaySoonIfNeeded):
(WebCore::ImageOverlay::installImageOverlayStyleSheet):

Pull out logic for installing the UA style sheet for image overlays into a helper method, so that we can ensure
the stylesheet in both cases where the `CroppedImage` is installed first, or Live Text is injected first.

(WebCore::ImageOverlay::updateSubtree):

Refactor this method to not completely remove the image overlay root container in the case where the Live Text
subtree needs to be regenerated; this prevents us from inadvertently removing the cropped image overlay elements
when updating Live Text elements in the UA shadow root.

(WebCore::ImageOverlay::CroppedImage::install):

Add a method to install a cropped image overlay into the given host element. This creates a new blob URL using
the given image data and MIME type, and uses it to insert an image element within the image overlay root
container that's absolutely positioned over the given crop rect (normalized relative to the image).

This inserted image is presented over another dimming element that fades in and out as `setVisibility()` is
called. Finally, `install` returns a `unique_ptr` to a RAII object that can be used to fade the cropped image
backdrop in or out; when destroyed, this RAII object immediately disconnects both the backdrop and the image
element, and revokes the temporary blob URL created during `install()`.

(WebCore::ImageOverlay::CroppedImage::CroppedImage):
(WebCore::ImageOverlay::CroppedImage::~CroppedImage):
(WebCore::ImageOverlay::CroppedImage::setVisibility):
* dom/ImageOverlay.h:
* dom/ShadowRoot.h:

Add a `using TreeScope::getElementById;` here to make it possible to call `getElementById` on `ShadowRoot`
without having to cast to a `TreeScope`.

* html/shadow/imageOverlay.css:
(img#image-overlay-cropped-image):
(div#image-overlay-cropped-image-backdrop):
* testing/Internals.cpp:
(WebCore::Internals::pngDataForTesting):
(WebCore::Internals::installCroppedImageOverlay):
(WebCore::Internals::uninstallCroppedImageOverlay):

Add internal testing support for the cropped image overlay by allowing layout tests to inject an image overlay
with hard-coded PNG data into the given element.

* testing/Internals.h:
* testing/Internals.idl:
* testing/Internals.mm:
(WebCore::Internals::pngDataForTesting):

LayoutTests:

Add a layout test that exercises the new cropped image overlay code.

* fast/images/text-recognition/image-overlay-cropped-image-expected.txt: Added.
* fast/images/text-recognition/image-overlay-cropped-image.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ImageOverlay.cpp
trunk/Source/WebCore/dom/ImageOverlay.h
trunk/Source/WebCore/dom/ShadowRoot.h
trunk/Source/WebCore/html/shadow/imageOverlay.css
trunk/Source/WebCore/testing/Internals.cpp
trunk/Source/WebCore/testing/Internals.h
trunk/Source/WebCore/testing/Internals.idl
trunk/Source/WebCore/testing/Internals.mm


Added Paths

trunk/LayoutTests/fast/images/text-recognition/image-overlay-cropped-image-expected.txt
trunk/LayoutTests/fast/images/text-recognition/image-overlay-cropped-image.html




Diff

Modified: trunk/LayoutTests/ChangeLog (290177 => 290178)

--- trunk/LayoutTests/ChangeLog	2022-02-18 23:42:31 UTC (rev 290177)
+++ trunk/LayoutTests/ChangeLog	2022-02-18 23:50:27 UTC (rev 290178)
@@ -1,3 +1,15 @@
+2022-02-18  Wenson Hsieh  
+
+[Live Text] Add a mechanism to inject images into image overlays
+https://bugs.webkit.org/show_bug.cgi?id=236842
+
+Reviewed by Aditya Keerthi.
+
+Add a layout test that exercises the new cropped image overlay code.
+
+* fast/images/text-recognition/image-overlay-cropped-image-expected.txt: Added.
+* fast/images/text-recognition/image-overlay-cropped-image.html: Added.
+
 2022-02-18  Kimmo Kinnunen  
 
 WebGL GPUP: Crash when running fast/mediastream/getUserMedia-to-canvas-1.html


Added: trunk/LayoutTests/fast/images/text-recognition/image-overlay-cropped-image-expected.txt (0 => 290178)

--- trunk/LayoutTests/fast/images/text-recognition/image-overlay-cropped-image-expected.txt	(rev 

[webkit-changes] [290177] trunk/LayoutTests

2022-02-18 Thread ryanhaddad
Title: [290177] trunk/LayoutTests








Revision 290177
Author ryanhad...@apple.com
Date 2022-02-18 15:42:31 -0800 (Fri, 18 Feb 2022)


Log Message
REGRESSION (10/5/2021?): [iOS] http/wpt/cross-origin-opener-policy/single-request-to-server.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=233284

Unreviewed test gardening.

* platform/ios/TestExpectations: Mark test as flaky.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (290176 => 290177)

--- trunk/LayoutTests/ChangeLog	2022-02-18 22:58:10 UTC (rev 290176)
+++ trunk/LayoutTests/ChangeLog	2022-02-18 23:42:31 UTC (rev 290177)
@@ -9,6 +9,15 @@
 
 * platform/ios-wk2/TestExpectations:
 
+2022-02-18  Ryan Haddad  
+
+REGRESSION (10/5/2021?): [iOS] http/wpt/cross-origin-opener-policy/single-request-to-server.html is a flaky failure
+https://bugs.webkit.org/show_bug.cgi?id=233284
+
+Unreviewed test gardening.
+
+* platform/ios/TestExpectations: Mark test as flaky.
+
 2022-02-18  Jon Lee  
 
 REGRESSION (r289990): [iOS] fast/backgrounds/gradient-background-shadow.html is consistently failing


Modified: trunk/LayoutTests/platform/ios/TestExpectations (290176 => 290177)

--- trunk/LayoutTests/platform/ios/TestExpectations	2022-02-18 22:58:10 UTC (rev 290176)
+++ trunk/LayoutTests/platform/ios/TestExpectations	2022-02-18 23:42:31 UTC (rev 290177)
@@ -3467,6 +3467,8 @@
 imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/form-controls/select-sizing-001.html [ Pass ]
 imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-modify-scrolling-attr-to-yes.html [ Pass ]
 
+webkit.org/b/233284 http/wpt/cross-origin-opener-policy/single-request-to-server.html [ Pass Failure ]
+
 [ Release ] editing/spelling/toggle-spellchecking.html [ Failure Pass ]
 pointerevents/mouse/pointer-event-basic-properties.html [ Timeout ]
-imported/w3c/web-platform-tests/workers/semantics/multiple-workers/004.html [ Failure Pass ]
\ No newline at end of file
+imported/w3c/web-platform-tests/workers/semantics/multiple-workers/004.html [ Failure Pass ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290176] tags/Safari-614.1.4/

2022-02-18 Thread kocsen_chung
Title: [290176] tags/Safari-614.1.4/








Revision 290176
Author kocsen_ch...@apple.com
Date 2022-02-18 14:58:10 -0800 (Fri, 18 Feb 2022)


Log Message
Tag Safari-614.1.4.

Added Paths

tags/Safari-614.1.4/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290175] trunk

2022-02-18 Thread commit-queue
Title: [290175] trunk








Revision 290175
Author commit-qu...@webkit.org
Date 2022-02-18 14:48:08 -0800 (Fri, 18 Feb 2022)


Log Message
WebGL GPUP: Crash when running fast/mediastream/getUserMedia-to-canvas-1.html
https://bugs.webkit.org/show_bug.cgi?id=236502
Source/WebCore:



Patch by Kimmo Kinnunen  on 2022-02-18
Reviewed by Eric Carlson.

Add a polymorphic function asVideoFrameCV to convert VideoFrame to VideoFrameCV.
VideoFrameCV is used to draw the in-process video frame to in-process WebGL.

RemoteVideoFrameProxy will implement asVideoFrameCV by fetching the data from
GPUP and returning a new object exposing the data.

No new tests, tested by now unskipped tests.

* platform/VideoFrame.h:
* platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::copyTextureFromMedia):
* platform/graphics/cv/VideoFrameCV.h:
* platform/graphics/cv/VideoFrameCV.mm:
(WebCore::VideoFrameCV::asVideoFrameCV):

Source/WebKit:

The crash is about MediaPlayerPrivateMediaStreamAVFObjC being in WP while other
media player private variants are proxied to GPUP. The previous implementation
would send media player identifiers to GPUP for copying.
This patch will implement the copy by the media player creating a reference
to VideoFrame. WebGL would send reference of the VideoFrame to GPUP for copying.

Make WP MediaPlayerPrivateRemote always return RemoteVideoFrameProxy objects
instead of WP in-process VideoFrame instances (for Cocoa VideoFrameCV) that
would hold the video data in process.

WP MediaPlayerPrivateMediaStreamAVFObjC already returns RemoteVideoFrameProxy
objects. This way GPUP WebGL implementation can obtain the read reference
to the remote object and send it in copyTextureFromVideoFrame message.

The WP in-process WebGL implementation converts the RemoteVideoFrameProxy
to VideoFrameCV with the new RemoteVideoFrameProxy::asVideoFrameCV.

Patch by Kimmo Kinnunen  on 2022-02-18
Reviewed by Eric Carlson.

* GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::RemoteGraphicsContextGL):
(WebKit::RemoteGraphicsContextGL::copyTextureFromVideoFrame):
* GPUProcess/graphics/RemoteGraphicsContextGL.h:
* GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
* GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp:
(WebKit::RemoteGraphicsContextGL::copyTextureFromVideoFrame):
(WebKit::RemoteGraphicsContextGL::create):
(WebKit::RemoteGraphicsContextGLCocoa::RemoteGraphicsContextGLCocoa):
(WebKit::RemoteGraphicsContextGLCocoa::platformWorkQueueInitialize):
(WebKit::RemoteGraphicsContextGLCocoa::prepareForDisplay):
* GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::createMediaPlayer):
* GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::RemoteMediaPlayerProxy):
(WebKit::RemoteMediaPlayerProxy::videoFrameForCurrentTimeIfChanged):
* GPUProcess/media/RemoteMediaPlayerProxy.h:
* GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
* WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::copyTextureFromMedia):
* WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
* WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::videoFrameForCurrentTime):
* WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
* WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
(WebKit::RemoteVideoFrameProxy::asVideoFrameCV):
* WebProcess/GPU/media/RemoteVideoFrameProxy.h:

LayoutTests:

Unskip the previous crashes caused by the lack of implementation.

Patch by Kimmo Kinnunen  on 2022-02-18
Reviewed by Eric Carlson.

* platform/ios-wk2/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios-wk2/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/VideoFrame.h
trunk/Source/WebCore/platform/cocoa/SharedVideoFrameInfo.h
trunk/Source/WebCore/platform/cocoa/SharedVideoFrameInfo.mm
trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm
trunk/Source/WebCore/platform/graphics/cv/CVUtilities.h
trunk/Source/WebCore/platform/graphics/cv/CVUtilities.mm
trunk/Source/WebCore/platform/graphics/cv/VideoFrameCV.h
trunk/Source/WebCore/platform/graphics/cv/VideoFrameCV.mm
trunk/Source/WebCore/platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp
trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.h
trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm
trunk/Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp
trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h
trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp
trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h
trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in

[webkit-changes] [290174] trunk/Source

2022-02-18 Thread eric . carlson
Title: [290174] trunk/Source








Revision 290174
Author eric.carl...@apple.com
Date 2022-02-18 14:43:33 -0800 (Fri, 18 Feb 2022)


Log Message
[macOS] Allow screen and window capture to be done in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=236815


Reviewed by Jer Noble.

Source/WebCore:

Tested manually.

* platform/mediastream/mac/ScreenCaptureKitCaptureSource.h:
* platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:
(WebCore::ScreenCaptureKitCaptureSource::sessionDidChangeContent): Call CaptureDevice
constructor directly since we have everything it needs.
(WebCore::findSharableDevice): Extract logic from processSharableContent into a
static function so it can be reused.
(WebCore::ScreenCaptureKitCaptureSource::findShareableContent): Use findSharableDevice.
(WebCore::ScreenCaptureKitCaptureSource::streamConfiguration): Add logging.
(WebCore::ScreenCaptureKitCaptureSource::startContentStream): Ditto.
(WebCore::ScreenCaptureKitCaptureSource::captureDeviceWithPersistentID):
(WebCore::ScreenCaptureKitCaptureSource::processSharableContent): Deleted.
* platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h:
(WebCore::ScreenCaptureKitSharingSessionManager::SharingSessionObserver::operator== const): Deleted.

* platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm:
(WebCore::ScreenCaptureKitSharingSessionManager::isAvailable):
(WebCore::ScreenCaptureKitSharingSessionManager::sessionDidChangeContent): Call
CaptureDevice constructor directly since we have everything it needs.
(WebCore::ScreenCaptureKitSharingSessionManager::promptForGetDisplayMedia): Call
completion handler if the class is not available.

Source/WebKit:

* GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::showWindowPicker): Call the picker.
(WebKit::GPUProcess::showScreenPicker): Ditto.
(WebKit::GPUProcess::setUseScreenCaptureKit):
* GPUProcess/GPUProcess.h:
* GPUProcess/GPUProcess.messages.in:

* GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in: Add rule to allow sandbox
to be extended dynamically with the mach-lookups required for the picker.
* Scripts/process-entitlements.sh: Add entitlements required for picker.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const): Encode shouldCaptureDisplayInGPUProcess.
(WebKit::WebPageCreationParameters::decode): Decode shouldCaptureDisplayInGPUProcess.
* Shared/WebPageCreationParameters.h:

* UIProcess/Cocoa/WebPageProxyCocoa.mm:
* UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::addDisplayCaptureSandboxExtension): Create extensions required to use the
system picker.
(WebKit::GPUProcessProxy::updateSandboxAccess): Add display capture.
(WebKit::GPUProcessProxy::updateCaptureAccess): Pass "allowDisplayCapture" to updateSandboxAccess.
(WebKit::GPUProcessProxy::showWindowPicker):
(WebKit::GPUProcessProxy::showScreenPicker):
(WebKit::GPUProcessProxy::updatePreferences):
* UIProcess/GPU/GPUProcessProxy.h:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters): Set shouldCaptureDisplayInGPUProcess.

* UIProcess/mac/DisplayCaptureSessionManager.mm:
(WebKit::DisplayCaptureSessionManager::showWindowPicker): Send message to GPU
process when necessary.
(WebKit::DisplayCaptureSessionManager::showScreenPicker): Ditto.

* WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::platformInitialize): Pass shouldCaptureDisplayInGPUProcess to setupCaptureProcesses.

* WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::setupCaptureProcesses): Add shouldCaptureDisplayInGPUProcess
parameter.
(WebKit::UserMediaCaptureManager::DisplayFactory::createDisplayCaptureSource): Deal
with GPU process capture.
(WebKit::UserMediaCaptureManager::DisplayFactory::setShouldCaptureInGPUProcess):
* WebProcess/cocoa/UserMediaCaptureManager.h:

Source/WTF:

* Scripts/Preferences/WebPreferencesExperimental.yaml: Add UseGPUProcessForDisplayCapture.

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h
trunk/Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm
trunk/Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h
trunk/Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/GPUProcess/GPUProcess.cpp
trunk/Source/WebKit/GPUProcess/GPUProcess.h
trunk/Source/WebKit/GPUProcess/GPUProcess.messages.in
trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in
trunk/Source/WebKit/Scripts/process-entitlements.sh
trunk/Source/WebKit/Shared/WebPageCreationParameters.cpp
trunk/Source/WebKit/Shared/WebPageCreationParameters.h
trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp
trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp

[webkit-changes] [290173] trunk/Source/WebKit

2022-02-18 Thread katherine_cheney
Title: [290173] trunk/Source/WebKit








Revision 290173
Author katherine_che...@apple.com
Date 2022-02-18 14:40:32 -0800 (Fri, 18 Feb 2022)


Log Message
Use async NSSharingServicePicker menu if available
https://bugs.webkit.org/show_bug.cgi?id=236823


Reviewed by Dean Jackson.

* UIProcess/Cocoa/WKShareSheet.h:
* UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet presentWithShareDataArray:inRect:]):
(-[WKShareSheet canShowPickerAsync:]):
(-[WKShareSheet showPickerAsync:completionHandler:]):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/Cocoa/WKShareSheet.h
trunk/Source/WebKit/UIProcess/Cocoa/WKShareSheet.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (290172 => 290173)

--- trunk/Source/WebKit/ChangeLog	2022-02-18 22:37:33 UTC (rev 290172)
+++ trunk/Source/WebKit/ChangeLog	2022-02-18 22:40:32 UTC (rev 290173)
@@ -1,3 +1,17 @@
+2022-02-18  Kate Cheney  
+
+Use async NSSharingServicePicker menu if available
+https://bugs.webkit.org/show_bug.cgi?id=236823
+
+
+Reviewed by Dean Jackson.
+
+* UIProcess/Cocoa/WKShareSheet.h:
+* UIProcess/Cocoa/WKShareSheet.mm:
+(-[WKShareSheet presentWithShareDataArray:inRect:]):
+(-[WKShareSheet canShowPickerAsync:]):
+(-[WKShareSheet showPickerAsync:completionHandler:]):
+
 2022-02-18  J Pascoe  
 
 [WebAuthn] Add credentialID to _WKWebAuthenticationAssertionResponse and userHandle in getAllLocalAuthenticatorCredentials


Modified: trunk/Source/WebKit/UIProcess/Cocoa/WKShareSheet.h (290172 => 290173)

--- trunk/Source/WebKit/UIProcess/Cocoa/WKShareSheet.h	2022-02-18 22:37:33 UTC (rev 290172)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WKShareSheet.h	2022-02-18 22:40:32 UTC (rev 290173)
@@ -41,6 +41,11 @@
 - (void)presentWithParameters:(const WebCore::ShareDataWithParsedURL&)data inRect:(std::optional)rect completionHandler:(WTF::CompletionHandler&&)completionHandler;
 - (void)dismiss;
 
+#if PLATFORM(MAC)
+- (BOOL)canShowPickerAsync:(NSSharingServicePicker *)picker;
+- (void)showPickerAsync:(NSSharingServicePicker *)picker showRelativeToRect:(NSRect)presentationRect ofView:(WKWebView *)webView completion:(void (^)(void))completionHandler;
+#endif
+
 @property (nonatomic, weak) id  delegate;
 @end
 


Modified: trunk/Source/WebKit/UIProcess/Cocoa/WKShareSheet.mm (290172 => 290173)

--- trunk/Source/WebKit/UIProcess/Cocoa/WKShareSheet.mm	2022-02-18 22:37:33 UTC (rev 290172)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WKShareSheet.mm	2022-02-18 22:40:32 UTC (rev 290173)
@@ -46,6 +46,10 @@
 #import 
 #endif
 
+#if USE(APPLE_INTERNAL_SDK) && PLATFORM(MAC)
+#import 
+#endif
+
 #if PLATFORM(MAC)
 @interface WKShareSheet () 
 @end
@@ -178,7 +182,11 @@
 NSRect mouseLocationInWindow = [webView.window convertRectFromScreen:mouseLocationRect];
 presentationRect = [webView convertRect:mouseLocationInWindow fromView:nil];
 }
-[_sharingServicePicker showRelativeToRect:presentationRect ofView:webView preferredEdge:NSMinYEdge];
+
+if ([self canShowPickerAsync:_sharingServicePicker.get()])
+[self showPickerAsync:_sharingServicePicker.get() showRelativeToRect:presentationRect ofView:webView completion:^{ }];
+else
+[_sharingServicePicker showRelativeToRect:presentationRect ofView:webView preferredEdge:NSMinYEdge];
 #else
 _shareSheetViewController = adoptNS([[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:nil]);
 
@@ -362,6 +370,21 @@
 return fileURL;
 }
 
+#if PLATFORM(MAC)
+#if USE(APPLE_INTERNAL_SDK)
+#import 
+#else
+- (BOOL)canShowPickerAsync:(NSSharingServicePicker *)picker
+{
+return false;
+}
+- (void)showPickerAsync:(NSSharingServicePicker *)picker showRelativeToRect:(NSRect)presentationRect ofView:(WKWebView *)webView completion:(void (^)(void))completionHandler
+{
+
+}
+#endif
+#endif
+
 @end
 
 #endif // PLATFORM(COCOA) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290172] tags/Safari-613.1.17.0.6/

2022-02-18 Thread alancoon
Title: [290172] tags/Safari-613.1.17.0.6/








Revision 290172
Author alanc...@apple.com
Date 2022-02-18 14:37:33 -0800 (Fri, 18 Feb 2022)


Log Message
Tag Safari-613.1.17.0.6.

Added Paths

tags/Safari-613.1.17.0.6/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290171] tags/Safari-613.1.17.1.6/

2022-02-18 Thread alancoon
Title: [290171] tags/Safari-613.1.17.1.6/








Revision 290171
Author alanc...@apple.com
Date 2022-02-18 14:36:44 -0800 (Fri, 18 Feb 2022)


Log Message
Tag Safari-613.1.17.1.6.

Added Paths

tags/Safari-613.1.17.1.6/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290170] trunk/Source/WebCore

2022-02-18 Thread zalan
Title: [290170] trunk/Source/WebCore








Revision 290170
Author za...@apple.com
Date 2022-02-18 14:32:31 -0800 (Fri, 18 Feb 2022)


Log Message
[LFC][IFC] Fix ideographic baseline for atomic inline level boxes with non-zero descent
https://bugs.webkit.org/show_bug.cgi?id=236841

Reviewed by Antti Koivisto.

In most cases atomic inline level boxes have zero descent values. However the ideographic should
include the descent value (see RenderBox::baselinePosition)
This patch also removes the check for orthogonal content since it is already covered at LineLayout::updateLayoutBoxDimensions
(getting the correct baseline value that is).

* layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (290169 => 290170)

--- trunk/Source/WebCore/ChangeLog	2022-02-18 22:19:43 UTC (rev 290169)
+++ trunk/Source/WebCore/ChangeLog	2022-02-18 22:32:31 UTC (rev 290170)
@@ -1,3 +1,18 @@
+2022-02-18  Alan Bujtas  
+
+[LFC][IFC] Fix ideographic baseline for atomic inline level boxes with non-zero descent
+https://bugs.webkit.org/show_bug.cgi?id=236841
+
+Reviewed by Antti Koivisto.
+
+In most cases atomic inline level boxes have zero descent values. However the ideographic should
+include the descent value (see RenderBox::baselinePosition)
+This patch also removes the check for orthogonal content since it is already covered at LineLayout::updateLayoutBoxDimensions
+(getting the correct baseline value that is).
+
+* layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
+(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
+
 2022-02-18  Youenn Fablet  
 
 REGRESSION (r288201): ASSERTION FAILED: !allScriptExecutionContextsMap().contains(m_identifier)


Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp (290169 => 290170)

--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp	2022-02-18 22:19:43 UTC (rev 290169)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp	2022-02-18 22:32:31 UTC (rev 290170)
@@ -349,14 +349,6 @@
 // when the style/content needs ideographic baseline setup in vertical writing mode.
 auto& rootInlineBox = lineBox.rootInlineBox();
 
-auto isAtomicInlineLevelBoxWithIdeographicBaseline = [&](auto& atomicInlineLevelBox) {
-ASSERT(atomicInlineLevelBox.isAtomicInlineLevelBox());
-auto& layoutBox = atomicInlineLevelBox.layoutBox();
-auto isReplaced = is(layoutBox) && !layoutBox.isIntegrationInlineBlock();
-auto isOrthogonalFormattingContextRoot = layoutBox.establishesBlockFormattingContext() && layoutBox.style().isHorizontalWritingMode();
-return isReplaced || isOrthogonalFormattingContextRoot;
-};
-
 auto lineNeedsIdeographicBaseline = [&] {
 auto styleToUse = [&] (auto& inlineLevelBox) -> const RenderStyle& {
 return !lineIndex ? inlineLevelBox.layoutBox().firstLineStyle() : inlineLevelBox.layoutBox().style();
@@ -374,8 +366,6 @@
 for (auto& inlineLevelBox : lineBox.nonRootInlineLevelBoxes()) {
 if (inlineLevelBox.isInlineBox() && primaryFontRequiresIdeographicBaseline(styleToUse(inlineLevelBox)))
 return true;
-if (inlineLevelBox.isAtomicInlineLevelBox() && isAtomicInlineLevelBoxWithIdeographicBaseline(inlineLevelBox))
-return true;
 }
 return false;
 };
@@ -391,11 +381,11 @@
 else if (inlineLevelBox.isLineBreakBox()) {
 auto& parentInlineBox = lineBox.inlineLevelBoxForLayoutBox(inlineLevelBox.layoutBox().parent());
 setBaselineAndLayoutBounds(inlineLevelBox, layoutBoundsMetricsForInlineBox(parentInlineBox, IdeographicBaseline));
-} else if (inlineLevelBox.isAtomicInlineLevelBox() && isAtomicInlineLevelBoxWithIdeographicBaseline(inlineLevelBox)) {
-auto alphabeticBaseline = inlineLevelBox.ascent();
-InlineLayoutUnit ideographicBaseline = roundToInt(alphabeticBaseline / 2);
+} else if (inlineLevelBox.isAtomicInlineLevelBox()) {
+auto inlineLevelBoxHeight = inlineLevelBox.layoutBounds().height();
+InlineLayoutUnit ideographicBaseline = roundToInt(inlineLevelBoxHeight / 2);
 // Move the baseline position but keep the same logical height.
-setBaselineAndLayoutBounds(inlineLevelBox, { ideographicBaseline, inlineLevelBox.layoutBounds().descent + (alphabeticBaseline - ideographicBaseline) });
+setBaselineAndLayoutBounds(inlineLevelBox, { ideographicBaseline, inlineLevelBoxHeight - ideographicBaseline });
 }
 }
 }







[webkit-changes] [290169] branches/safari-614.1.4-branch/Source/WebCore

2022-02-18 Thread kocsen_chung
Title: [290169] branches/safari-614.1.4-branch/Source/WebCore








Revision 290169
Author kocsen_ch...@apple.com
Date 2022-02-18 14:19:43 -0800 (Fri, 18 Feb 2022)


Log Message
Cherry-pick r290153. rdar://problem/89142268

[Cocoa] Make AVFoundationSPI.h robust against changes in system headers
https://bugs.webkit.org/show_bug.cgi?id=236787


Reviewed by Eric Carlson.

Source/WebCore:

Wrap call-sites in #if HAVE() macros.

* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::contentKeySession):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::sessionForRequest const):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::protectionStatusForDisplayID const):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::ensureSessionOrGroup):

Source/WebCore/PAL:

Follow-up: build problems still persist on certain platforms, so the "robustness"
changes made previously were not robust enough. The guards in AVFoundationSPI.h were
intended to ensure the definitions were present even on builds where the official API
is not supported. However, just because the API is not supported does not mean it's not
present, which leads to duplicate-interface build errors.

Fix the AVFoundationSPI.h pragmas to only define the classes and methods where those
objects are supported, and in parallel, wrap implementations which use those objects
in those same guards (making these checks compile-time in addition to runtime).

Move the declarations inside the #else (IOW, !USE(APPLE_INTERNAL_SDK)) block above,
and wrap each declaration in the correct HAVE() macro.

* pal/spi/cocoa/AVFoundationSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290153 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-614.1.4-branch/Source/WebCore/ChangeLog
branches/safari-614.1.4-branch/Source/WebCore/PAL/ChangeLog
branches/safari-614.1.4-branch/Source/WebCore/PAL/pal/spi/cocoa/AVFoundationSPI.h
branches/safari-614.1.4-branch/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm




Diff

Modified: branches/safari-614.1.4-branch/Source/WebCore/ChangeLog (290168 => 290169)

--- branches/safari-614.1.4-branch/Source/WebCore/ChangeLog	2022-02-18 22:01:40 UTC (rev 290168)
+++ branches/safari-614.1.4-branch/Source/WebCore/ChangeLog	2022-02-18 22:19:43 UTC (rev 290169)
@@ -1,3 +1,65 @@
+2022-02-18  Russell Epstein  
+
+Cherry-pick r290153. rdar://problem/89142268
+
+[Cocoa] Make AVFoundationSPI.h robust against changes in system headers
+https://bugs.webkit.org/show_bug.cgi?id=236787
+
+
+Reviewed by Eric Carlson.
+
+Source/WebCore:
+
+Wrap call-sites in #if HAVE() macros.
+
+* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
+(WebCore::CDMInstanceFairPlayStreamingAVFObjC::contentKeySession):
+(WebCore::CDMInstanceFairPlayStreamingAVFObjC::sessionForRequest const):
+(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense):
+(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData):
+(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequest):
+(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::protectionStatusForDisplayID const):
+(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::ensureSessionOrGroup):
+
+Source/WebCore/PAL:
+
+Follow-up: build problems still persist on certain platforms, so the "robustness"
+changes made previously were not robust enough. The guards in AVFoundationSPI.h were
+intended to ensure the definitions were present even on builds where the official API
+is not supported. However, just because the API is not supported does not mean it's not
+present, which leads to duplicate-interface build errors.
+
+Fix the AVFoundationSPI.h pragmas to only define the classes and methods where those
+objects are supported, and in parallel, wrap implementations which use those objects
+in those same guards (making these checks compile-time in addition to runtime).
+
+Move the declarations inside the #else (IOW, !USE(APPLE_INTERNAL_SDK)) block above,
+and wrap each declaration in the correct HAVE() macro.
+
+* pal/spi/cocoa/AVFoundationSPI.h:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2022-02-18  Jer Noble  
+
+[Cocoa] Make AVFoundationSPI.h robust against changes in system headers
+https://bugs.webkit.org/show_bug.cgi?id=236787
+
+
+Reviewed by 

[webkit-changes] [290168] trunk/Websites/bugs.webkit.org/template/en/default/ queue.json.tmpl

2022-02-18 Thread dino
Title: [290168] trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl








Revision 290168
Author d...@apple.com
Date 2022-02-18 14:01:40 -0800 (Fri, 18 Feb 2022)


Log Message
Revert 290166.

Removed Paths

trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl




Diff

Deleted: trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl (290167 => 290168)

--- trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl	2022-02-18 21:38:57 UTC (rev 290167)
+++ trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl	2022-02-18 22:01:40 UTC (rev 290168)
@@ -1,47 +0,0 @@
-[%# This Source Code Form is subject to the terms of the Mozilla Public
-  # License, v. 2.0. If a copy of the MPL was not distributed with this
-  # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-  #
-  # This Source Code Form is "Incompatible With Secondary Licenses", as
-  # defined by the Mozilla Public License, v. 2.0. #%]
-
-[% RAWPERL %]
-my @display_columns = ('requester', 'requestee', 'type', 'created', 'category',
-   'restricted', 'bug_id', 'bug_summary', 'attach_id',
-   'attach_summary', 'attach_mimetype', 'attach_ispatch');
-my $requests= $stash->get('requests');
-my $time_filter = $context->filter('time', [ '%Y-%m-%dT%H:%M:%SZ', 'UTC' ]);
-my $mail_filter = $context->filter('email');
-
-my @results;
-foreach my $request (@$requests) {
-my %item = ();
-foreach my $column (@display_columns) {
-my $val;
-if ( $column eq 'created' ) {
-$val = $time_filter->( $request->{$column} );
-}
-elsif ( $column =~ /^requeste/ ) {
-$val = $request->{$column} ? {
-email => $request->{$column}->email
-} : undef;
-}
-elsif ( $column =~ /_id$/ ) {
-$val = $request->{$column} ? 0 + $request->{$column} : undef;
-}
-elsif ( $column =~ /^(restricted|attach_ispatch)$/ ) {
-$val = $request->{$column} ? \1 : \0;
-}
-else {
-$val = $request->{$column};
-}
-$item{$column} = $val;
-}
-push @results, \%item;
-}
-{
-use feature 'state';
-state $json = JSON::XS->new->utf8->ascii;
-$output .= $json->encode( \@results );
-}
-[% END %]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290167] trunk/Source/WebCore

2022-02-18 Thread youenn
Title: [290167] trunk/Source/WebCore








Revision 290167
Author you...@apple.com
Date 2022-02-18 13:38:57 -0800 (Fri, 18 Feb 2022)


Log Message
REGRESSION (r288201): ASSERTION FAILED: !allScriptExecutionContextsMap().contains(m_identifier)
https://bugs.webkit.org/show_bug.cgi?id=236123


Reviewed by Chris Dumez.

We sometimes call setupForReplace which reset m_gotFirstByte to false.
In that case, we may reuse the same client ID for two different documents.
To prevent this, we clear the clientID in setupForReplace.
For good measure, if service worker runtime flag is not on, we do not set the client ID at all.

Covered by existing WK1 tests.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setupForReplace):
(WebCore::DocumentLoader::loadMainResource):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/loader/DocumentLoader.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (290166 => 290167)

--- trunk/Source/WebCore/ChangeLog	2022-02-18 21:32:03 UTC (rev 290166)
+++ trunk/Source/WebCore/ChangeLog	2022-02-18 21:38:57 UTC (rev 290167)
@@ -1,3 +1,22 @@
+2022-02-18  Youenn Fablet  
+
+REGRESSION (r288201): ASSERTION FAILED: !allScriptExecutionContextsMap().contains(m_identifier)
+https://bugs.webkit.org/show_bug.cgi?id=236123
+
+
+Reviewed by Chris Dumez.
+
+We sometimes call setupForReplace which reset m_gotFirstByte to false.
+In that case, we may reuse the same client ID for two different documents.
+To prevent this, we clear the clientID in setupForReplace.
+For good measure, if service worker runtime flag is not on, we do not set the client ID at all.
+
+Covered by existing WK1 tests.
+
+* loader/DocumentLoader.cpp:
+(WebCore::DocumentLoader::setupForReplace):
+(WebCore::DocumentLoader::loadMainResource):
+
 2022-02-18  Sam Sneddon  
 
 ServiceWorkerGlobalScope+PushAPI requires PushAPIEnabled


Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (290166 => 290167)

--- trunk/Source/WebCore/loader/DocumentLoader.cpp	2022-02-18 21:32:03 UTC (rev 290166)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp	2022-02-18 21:38:57 UTC (rev 290167)
@@ -1358,7 +1358,15 @@
 m_writer.end();
 frameLoader()->setReplacing();
 m_gotFirstByte = false;
-
+
+#if ENABLE(SERVICE_WORKER)
+unregisterReservedServiceWorkerClient();
+if (m_resultingClientId) {
+scriptExecutionContextIdentifierToLoaderMap().remove(m_resultingClientId);
+m_resultingClientId = { };
+}
+#endif
+
 stopLoadingSubresources();
 stopLoadingPlugIns();
 #if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
@@ -2109,12 +2117,14 @@
 CachingPolicy::AllowCaching);
 
 #if ENABLE(SERVICE_WORKER)
-// The main navigation load will trigger the registration of the client.
-if (m_resultingClientId)
-scriptExecutionContextIdentifierToLoaderMap().remove(m_resultingClientId);
-m_resultingClientId = ScriptExecutionContextIdentifier::generate();
-ASSERT(!scriptExecutionContextIdentifierToLoaderMap().contains(m_resultingClientId));
-scriptExecutionContextIdentifierToLoaderMap().add(m_resultingClientId, this);
+if (RuntimeEnabledFeatures::sharedFeatures().serviceWorkerEnabled()) {
+// The main navigation load will trigger the registration of the client.
+if (m_resultingClientId)
+scriptExecutionContextIdentifierToLoaderMap().remove(m_resultingClientId);
+m_resultingClientId = ScriptExecutionContextIdentifier::generate();
+ASSERT(!scriptExecutionContextIdentifierToLoaderMap().contains(m_resultingClientId));
+scriptExecutionContextIdentifierToLoaderMap().add(m_resultingClientId, this);
+}
 #endif
 
 CachedResourceRequest mainResourceRequest(WTFMove(request), mainResourceLoadOptions);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290166] trunk/Websites/bugs.webkit.org/template/en/default/ queue.json.tmpl

2022-02-18 Thread dino
Title: [290166] trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl








Revision 290166
Author d...@apple.com
Date 2022-02-18 13:32:03 -0800 (Fri, 18 Feb 2022)


Log Message
Temporarily adding JSON output for request queue to see if it works.
Will remove it immediately after testing.

Unreviewed.

* template/en/default/queue.json.tmpl: Added.

Added Paths

trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl




Diff

Added: trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl (0 => 290166)

--- trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl	(rev 0)
+++ trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl	2022-02-18 21:32:03 UTC (rev 290166)
@@ -0,0 +1,47 @@
+[%# This Source Code Form is subject to the terms of the Mozilla Public
+  # License, v. 2.0. If a copy of the MPL was not distributed with this
+  # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+  #
+  # This Source Code Form is "Incompatible With Secondary Licenses", as
+  # defined by the Mozilla Public License, v. 2.0. #%]
+
+[% RAWPERL %]
+my @display_columns = ('requester', 'requestee', 'type', 'created', 'category',
+   'restricted', 'bug_id', 'bug_summary', 'attach_id',
+   'attach_summary', 'attach_mimetype', 'attach_ispatch');
+my $requests= $stash->get('requests');
+my $time_filter = $context->filter('time', [ '%Y-%m-%dT%H:%M:%SZ', 'UTC' ]);
+my $mail_filter = $context->filter('email');
+
+my @results;
+foreach my $request (@$requests) {
+my %item = ();
+foreach my $column (@display_columns) {
+my $val;
+if ( $column eq 'created' ) {
+$val = $time_filter->( $request->{$column} );
+}
+elsif ( $column =~ /^requeste/ ) {
+$val = $request->{$column} ? {
+email => $request->{$column}->email
+} : undef;
+}
+elsif ( $column =~ /_id$/ ) {
+$val = $request->{$column} ? 0 + $request->{$column} : undef;
+}
+elsif ( $column =~ /^(restricted|attach_ispatch)$/ ) {
+$val = $request->{$column} ? \1 : \0;
+}
+else {
+$val = $request->{$column};
+}
+$item{$column} = $val;
+}
+push @results, \%item;
+}
+{
+use feature 'state';
+state $json = JSON::XS->new->utf8->ascii;
+$output .= $json->encode( \@results );
+}
+[% END %]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290165] trunk/LayoutTests

2022-02-18 Thread jonlee
Title: [290165] trunk/LayoutTests








Revision 290165
Author jon...@apple.com
Date 2022-02-18 13:29:52 -0800 (Fri, 18 Feb 2022)


Log Message
REGRESSION (r289990): [iOS] fast/backgrounds/gradient-background-shadow.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=236854

Unreviewed. Expanding fuzzy range.
* fast/backgrounds/gradient-background-shadow.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/backgrounds/gradient-background-shadow.html




Diff

Modified: trunk/LayoutTests/ChangeLog (290164 => 290165)

--- trunk/LayoutTests/ChangeLog	2022-02-18 21:21:28 UTC (rev 290164)
+++ trunk/LayoutTests/ChangeLog	2022-02-18 21:29:52 UTC (rev 290165)
@@ -1,3 +1,11 @@
+2022-02-18  Jon Lee  
+
+REGRESSION (r289990): [iOS] fast/backgrounds/gradient-background-shadow.html is consistently failing
+https://bugs.webkit.org/show_bug.cgi?id=236854
+
+Unreviewed. Expanding fuzzy range.
+* fast/backgrounds/gradient-background-shadow.html:
+
 2022-02-18  Tim Nguyen  
 
 Re-import inert and  WPT


Modified: trunk/LayoutTests/fast/backgrounds/gradient-background-shadow.html (290164 => 290165)

--- trunk/LayoutTests/fast/backgrounds/gradient-background-shadow.html	2022-02-18 21:21:28 UTC (rev 290164)
+++ trunk/LayoutTests/fast/backgrounds/gradient-background-shadow.html	2022-02-18 21:29:52 UTC (rev 290165)
@@ -1,7 +1,7 @@
 
 
 
-  
+  
   

[webkit-changes] [290164] trunk/LayoutTests

2022-02-18 Thread ntim
Title: [290164] trunk/LayoutTests








Revision 290164
Author n...@apple.com
Date 2022-02-18 13:21:28 -0800 (Fri, 18 Feb 2022)


Log Message
Re-import inert and  WPT
https://bugs.webkit.org/show_bug.cgi?id=236808

Reviewed by Simon Fraser.

Commit: https://github.com/web-platform-tests/wpt/commit/0d483a3bea340a2c60cb7a4add49eb63cbba2a64

LayoutTests/imported/w3c:

* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-double-nested-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-delegatesfocus-expected.txt.
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-double-nested.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-delegatesfocus.html.
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-expected.txt:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow.html:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames-expected.txt:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames.html:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-label-focus.html:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inertness-with-modal-dialogs-and-iframes-expected.txt:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inertness-with-modal-dialogs-and-iframes.html:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-scroll-height.html:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
* web-platform-tests/inert/dynamic-inert-on-focused-element.tentative-expected.txt: Added.
* web-platform-tests/inert/dynamic-inert-on-focused-element.tentative.html: Added.
* web-platform-tests/inert/inert-canvas-fallback-content.tentative-expected.txt: Added.
* web-platform-tests/inert/inert-canvas-fallback-content.tentative.html: Added.
* web-platform-tests/inert/inert-iframe-hittest.tentative-expected.txt: Added.
* web-platform-tests/inert/inert-iframe-hittest.tentative.html: Added.
* web-platform-tests/inert/inert-iframe-tabbing.tentative-expected.txt: Added.
* web-platform-tests/inert/inert-iframe-tabbing.tentative.html: Added.
* web-platform-tests/inert/inert-node-is-uneditable.tentative.html:
* web-platform-tests/inert/inert-with-modal-dialog-001.tentative-expected.txt: Added.
* web-platform-tests/inert/inert-with-modal-dialog-001.tentative.html: Added.
* web-platform-tests/inert/inert-with-modal-dialog-002.tentative-expected.txt: Added.
* web-platform-tests/inert/inert-with-modal-dialog-002.tentative.html: Added.
* web-platform-tests/inert/w3c-import.log:

LayoutTests:

* platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-iframe-hittest.tentative-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-iframe-tabbing.tentative-expected.txt: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow.html
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames.html
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-label-focus.html
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inertness-with-modal-dialogs-and-iframes-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inertness-with-modal-dialogs-and-iframes.html
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-scroll-height.html
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log
trunk/LayoutTests/imported/w3c/web-platform-tests/inert/inert-node-is-uneditable.tentative.html
trunk/LayoutTests/imported/w3c/web-platform-tests/inert/w3c-import.log


Added Paths

trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-double-nested-expected.txt

[webkit-changes] [290163] branches/safari-613.1.17.0-branch/Source/WebCore

2022-02-18 Thread alancoon
Title: [290163] branches/safari-613.1.17.0-branch/Source/WebCore








Revision 290163
Author alanc...@apple.com
Date 2022-02-18 13:20:53 -0800 (Fri, 18 Feb 2022)


Log Message
Cherry-pick r290152. rdar://problem/88327814

Keep promise in scope when calling DeferredPromise::reject
https://bugs.webkit.org/show_bug.cgi?id=236454

Patch by Gabriel Nava Marino  on 2022-02-18
Reviewed by Darin Adler.

Keep promise in scope when calling DeferredPromise::reject, as createDOMException
could go through a path that invokes GC on its owner and the promise.

* Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::FetchBodyConsumer::resolveWithFormData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290152 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-613.1.17.0-branch/Source/WebCore/ChangeLog
branches/safari-613.1.17.0-branch/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp




Diff

Modified: branches/safari-613.1.17.0-branch/Source/WebCore/ChangeLog (290162 => 290163)

--- branches/safari-613.1.17.0-branch/Source/WebCore/ChangeLog	2022-02-18 21:20:49 UTC (rev 290162)
+++ branches/safari-613.1.17.0-branch/Source/WebCore/ChangeLog	2022-02-18 21:20:53 UTC (rev 290163)
@@ -1,5 +1,36 @@
 2022-02-18  Russell Epstein  
 
+Cherry-pick r290152. rdar://problem/88327814
+
+Keep promise in scope when calling DeferredPromise::reject
+https://bugs.webkit.org/show_bug.cgi?id=236454
+
+Patch by Gabriel Nava Marino  on 2022-02-18
+Reviewed by Darin Adler.
+
+Keep promise in scope when calling DeferredPromise::reject, as createDOMException
+could go through a path that invokes GC on its owner and the promise.
+
+* Modules/fetch/FetchBodyConsumer.cpp:
+(WebCore::FetchBodyConsumer::resolveWithFormData):
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2022-02-18  Gabriel Nava Marino  
+
+Keep promise in scope when calling DeferredPromise::reject
+https://bugs.webkit.org/show_bug.cgi?id=236454
+
+Reviewed by Darin Adler.
+
+Keep promise in scope when calling DeferredPromise::reject, as createDOMException
+could go through a path that invokes GC on its owner and the promise.
+
+* Modules/fetch/FetchBodyConsumer.cpp:
+(WebCore::FetchBodyConsumer::resolveWithFormData):
+
+2022-02-18  Russell Epstein  
+
 Cherry-pick r290156. rdar://problem/89154452
 
 ServiceWorkerGlobalScope+PushAPI requires PushAPIEnabled


Modified: branches/safari-613.1.17.0-branch/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp (290162 => 290163)

--- branches/safari-613.1.17.0-branch/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp	2022-02-18 21:20:49 UTC (rev 290162)
+++ branches/safari-613.1.17.0-branch/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp	2022-02-18 21:20:53 UTC (rev 290163)
@@ -268,8 +268,9 @@
 if (!context)
 return;
 
-m_formDataConsumer = makeUnique(formData, *context, [this, promise = WTFMove(promise), contentType, builder = SharedBufferBuilder { }](auto&& result) mutable {
+m_formDataConsumer = makeUnique(formData, *context, [this, capturedPromise = WTFMove(promise), contentType, builder = SharedBufferBuilder { }](auto&& result) mutable {
 if (result.hasException()) {
+auto promise = WTFMove(capturedPromise);
 promise->reject(result.releaseException());
 return;
 }
@@ -277,7 +278,7 @@
 auto& value = result.returnValue();
 if (value.empty()) {
 auto buffer = builder.takeAsContiguous();
-resolveWithData(WTFMove(promise), contentType, buffer->data(), buffer->size());
+resolveWithData(WTFMove(capturedPromise), contentType, buffer->data(), buffer->size());
 return;
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290162] branches/safari-613.1.17.0-branch

2022-02-18 Thread alancoon
Title: [290162] branches/safari-613.1.17.0-branch








Revision 290162
Author alanc...@apple.com
Date 2022-02-18 13:20:49 -0800 (Fri, 18 Feb 2022)


Log Message
Cherry-pick r290156. rdar://problem/89154452

ServiceWorkerGlobalScope+PushAPI requires PushAPIEnabled
https://bugs.webkit.org/show_bug.cgi?id=236846

Patch by Sam Sneddon  on 2022-02-18
Reviewed by Chris Dumez.

Source/WebCore:

Tests: http/wpt/push-api/onpush-disabled.html
   http/wpt/push-api/onpush-enabled.html

* Modules/push-api/ServiceWorkerGlobalScope+PushAPI.idl:

LayoutTests:

* http/wpt/push-api/onpush-disabled-expected.txt: Added.
* http/wpt/push-api/onpush-disabled.html: Added.
* http/wpt/push-api/onpush-disabled.js: Added.
(test):
* http/wpt/push-api/onpush-enabled-expected.txt: Added.
* http/wpt/push-api/onpush-enabled.html: Added.
* http/wpt/push-api/onpush-enabled.js: Added.
(test):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290156 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-613.1.17.0-branch/LayoutTests/ChangeLog
branches/safari-613.1.17.0-branch/Source/WebCore/ChangeLog
branches/safari-613.1.17.0-branch/Source/WebCore/Modules/push-api/ServiceWorkerGlobalScope+PushAPI.idl


Added Paths

branches/safari-613.1.17.0-branch/LayoutTests/http/wpt/push-api/onpush-disabled-expected.txt
branches/safari-613.1.17.0-branch/LayoutTests/http/wpt/push-api/onpush-disabled.html
branches/safari-613.1.17.0-branch/LayoutTests/http/wpt/push-api/onpush-disabled.js
branches/safari-613.1.17.0-branch/LayoutTests/http/wpt/push-api/onpush-enabled-expected.txt
branches/safari-613.1.17.0-branch/LayoutTests/http/wpt/push-api/onpush-enabled.html
branches/safari-613.1.17.0-branch/LayoutTests/http/wpt/push-api/onpush-enabled.js




Diff

Modified: branches/safari-613.1.17.0-branch/LayoutTests/ChangeLog (290161 => 290162)

--- branches/safari-613.1.17.0-branch/LayoutTests/ChangeLog	2022-02-18 21:18:08 UTC (rev 290161)
+++ branches/safari-613.1.17.0-branch/LayoutTests/ChangeLog	2022-02-18 21:20:49 UTC (rev 290162)
@@ -1,5 +1,51 @@
 2022-02-18  Russell Epstein  
 
+Cherry-pick r290156. rdar://problem/89154452
+
+ServiceWorkerGlobalScope+PushAPI requires PushAPIEnabled
+https://bugs.webkit.org/show_bug.cgi?id=236846
+
+Patch by Sam Sneddon  on 2022-02-18
+Reviewed by Chris Dumez.
+
+Source/WebCore:
+
+Tests: http/wpt/push-api/onpush-disabled.html
+   http/wpt/push-api/onpush-enabled.html
+
+* Modules/push-api/ServiceWorkerGlobalScope+PushAPI.idl:
+
+LayoutTests:
+
+* http/wpt/push-api/onpush-disabled-expected.txt: Added.
+* http/wpt/push-api/onpush-disabled.html: Added.
+* http/wpt/push-api/onpush-disabled.js: Added.
+(test):
+* http/wpt/push-api/onpush-enabled-expected.txt: Added.
+* http/wpt/push-api/onpush-enabled.html: Added.
+* http/wpt/push-api/onpush-enabled.js: Added.
+(test):
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2022-02-18  Sam Sneddon  
+
+ServiceWorkerGlobalScope+PushAPI requires PushAPIEnabled
+https://bugs.webkit.org/show_bug.cgi?id=236846
+
+Reviewed by Chris Dumez.
+
+* http/wpt/push-api/onpush-disabled-expected.txt: Added.
+* http/wpt/push-api/onpush-disabled.html: Added.
+* http/wpt/push-api/onpush-disabled.js: Added.
+(test):
+* http/wpt/push-api/onpush-enabled-expected.txt: Added.
+* http/wpt/push-api/onpush-enabled.html: Added.
+* http/wpt/push-api/onpush-enabled.js: Added.
+(test):
+
+2022-02-18  Russell Epstein  
+
 Cherry-pick r290087. rdar://problem/88713302
 
 Source/ThirdParty/ANGLE:


Added: branches/safari-613.1.17.0-branch/LayoutTests/http/wpt/push-api/onpush-disabled-expected.txt (0 => 290162)

--- branches/safari-613.1.17.0-branch/LayoutTests/http/wpt/push-api/onpush-disabled-expected.txt	(rev 0)
+++ branches/safari-613.1.17.0-branch/LayoutTests/http/wpt/push-api/onpush-disabled-expected.txt	2022-02-18 21:20:49 UTC (rev 290162)
@@ -0,0 +1,4 @@
+
+PASS onpush should not be exposed on ServiceWorkerGlobalScope
+PASS onpushsubscriptionchange should not be exposed on ServiceWorkerGlobalScope
+


Added: branches/safari-613.1.17.0-branch/LayoutTests/http/wpt/push-api/onpush-disabled.html (0 => 290162)

--- branches/safari-613.1.17.0-branch/LayoutTests/http/wpt/push-api/onpush-disabled.html	(rev 0)
+++ branches/safari-613.1.17.0-branch/LayoutTests/http/wpt/push-api/onpush-disabled.html	2022-02-18 21:20:49 UTC (rev 290162)
@@ -0,0 +1,16 @@
+
+
+
+
+