[webkit-changes] [287422] trunk

2021-12-23 Thread Hironori . Fujii
Title: [287422] trunk








Revision 287422
Author hironori.fu...@sony.com
Date 2021-12-23 23:47:13 -0800 (Thu, 23 Dec 2021)


Log Message
REGRESSION(r287412)[WinCairo] error C2338: You've instantiated std::aligned_storage with an extended alignment (in other words, Align > alignof(max_align_t)).
https://bugs.webkit.org/show_bug.cgi?id=234658

Unreviewed build fix.

After r287412, WinCairo Debug can't compile due to the following error.

> C:\MSVS\VC\Tools\MSVC\14.28.29910\include\type_traits(1066):
>   error C2338: You've instantiated std::aligned_storage with an extended alignment (in other words, Align > alignof(max_align_t)).
>   Before VS 2017 15.8, the member "type" would non-conformingly have an alignment of only alignof(max_align_t).
>   VS 2017 15.8 was fixed to handle this correctly, but the fix inherently changes layout and breaks binary compatibility
>   (*only* for uses of aligned_storage with extended alignments).
>   Please define either (1) _ENABLE_EXTENDED_ALIGNED_STORAGE to acknowledge that you understand this message and that you actually want a type with an extended alignment,
>   or (2) _DISABLE_EXTENDED_ALIGNED_STORAGE to silence this message and get the old non-conforming behavior.

* Source/cmake/OptionsMSVC.cmake: Added _ENABLE_EXTENDED_ALIGNED_STORAGE macro.

Modified Paths

trunk/ChangeLog
trunk/Source/cmake/OptionsMSVC.cmake




Diff

Modified: trunk/ChangeLog (287421 => 287422)

--- trunk/ChangeLog	2021-12-24 05:58:47 UTC (rev 287421)
+++ trunk/ChangeLog	2021-12-24 07:47:13 UTC (rev 287422)
@@ -1,3 +1,22 @@
+2021-12-23  Fujii Hironori  
+
+REGRESSION(r287412)[WinCairo] error C2338: You've instantiated std::aligned_storage with an extended alignment (in other words, Align > alignof(max_align_t)).
+https://bugs.webkit.org/show_bug.cgi?id=234658
+
+Unreviewed build fix.
+
+After r287412, WinCairo Debug can't compile due to the following error.
+
+> C:\MSVS\VC\Tools\MSVC\14.28.29910\include\type_traits(1066):
+>   error C2338: You've instantiated std::aligned_storage with an extended alignment (in other words, Align > alignof(max_align_t)).
+>   Before VS 2017 15.8, the member "type" would non-conformingly have an alignment of only alignof(max_align_t).
+>   VS 2017 15.8 was fixed to handle this correctly, but the fix inherently changes layout and breaks binary compatibility
+>   (*only* for uses of aligned_storage with extended alignments).
+>   Please define either (1) _ENABLE_EXTENDED_ALIGNED_STORAGE to acknowledge that you understand this message and that you actually want a type with an extended alignment,
+>   or (2) _DISABLE_EXTENDED_ALIGNED_STORAGE to silence this message and get the old non-conforming behavior.
+
+* Source/cmake/OptionsMSVC.cmake: Added _ENABLE_EXTENDED_ALIGNED_STORAGE macro.
+
 2021-12-23  ChangSeok Oh  
 
 Add changseok's github username.


Modified: trunk/Source/cmake/OptionsMSVC.cmake (287421 => 287422)

--- trunk/Source/cmake/OptionsMSVC.cmake	2021-12-24 05:58:47 UTC (rev 287421)
+++ trunk/Source/cmake/OptionsMSVC.cmake	2021-12-24 07:47:13 UTC (rev 287422)
@@ -124,6 +124,8 @@
 add_definitions(-D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1)
 endif ()
 
+add_compile_options(-D_ENABLE_EXTENDED_ALIGNED_STORAGE)
+
 # Specify the source code encoding
 add_compile_options(/utf-8 /validate-charset)
 






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


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

2021-12-23 Thread mark . lam
Title: [287421] trunk/Source/_javascript_Core








Revision 287421
Author mark@apple.com
Date 2021-12-23 21:58:47 -0800 (Thu, 23 Dec 2021)


Log Message
Make DeferredWorkTimer::addPendingWork() return a Ticket.
https://bugs.webkit.org/show_bug.cgi?id=234628
rdar://84260429

Reviewed by Yusuke Suzuki.

1. Make Ticket a unique token instead of the JSObject* target object.
   The Ticket is now a pointer to the TicketData in the pending work list.

2. Instead of taking a Ticket argument, DeferredWorkTimer::addPendingWork() now
   takes a JSObject* `target` argument explicitly, and returns the Ticket for the
   added TicketData instead.

   All the relevant DeferredWorkTimer APIS already take a Ticket as an argument.
   This ensures that addPendingWork() is called before we start doing work with
   these APIs (especially scheduleWorkSoon()).

3. Previously, addPendingWork() will only save one instance of TicketData for
   a given JSObject* key.  With this patch, we'll register a new TicketData
   instance for every call to addPendingWork(), and return a unique Ticket for it.

   This is needed because it may be possible for 2 different clients to call
   addPendingWork() and scheduleWorkSoon() with the same target JSObject* but with
   different sets of dependencies.

   Secondly, even is the both sets of dependencies are identical, a client may
   call addPendingWork() and scheduleWorkSoon() with the same JSObject* target
   more than once because it intended to schedule more than 1 task to run.

   Note that DeferredWorkTimer::doWork() consumes the corresponding TicketData
   (i.e. removes it from the m_pendingTickets list) for each task as it is run.
   To ensure that the dependencies for each task is protected, we'll either need
   to ref count the TicketData for the same target object (and hold off on removing
   it from the list), or we'll need to register a different TicketData instance
   for each task.  Ref counting can solve the second issue above, but does not
   solve the first.  So, this patch goes with the more generic solution to allow
   each task to have its own TicketData instance (and, its own unique Ticket).

4. Previously, if the client cancels pending work, we would remove the TicketData
   immediately from the m_pendingTickets list.  This opens up an opportunity for
   the same TicketData memory to be re-allocated by another client.  This, in turn,
   would make the Ticket token not unique and potentially allow a cancelled ticket
   to be reused before DeferredWorkTimer::doWork() is called.

   This patch changes DeferredWorkTimer::cancelPendingWork() to only clear the
   contents of the TicketData instead.  TicketData::scriptExecutionOwner being
   null is used as an indication that the ticket has been cancelled.  Since the
   TicketData itself is not "freed" yet, all TicketData will remain unique until
   DeferredWorkTimer::doWork().

   Consequently, DeferredWorkTimer::doWork() will now check for cancelled tickets
   and remove them from the m_pendingTickets list.

5. JSFinalizationRegistry was previously calling DeferredWorkTimer::hasPendingWork()
   to check if it has already scheduled a task, so as not to reschedule again until
   after the previously scheduled task has been run.  This does not play nice
   with the new Ticket API, because this hasPendingWork() check needs to be done
   before calling addPendingWork(), and hence, the Ticket is not available yet.

   Fortunately, JSFinalizationRegistry should know if it has already scheduled
   a task itself.  This patch adds a m_hasAlreadyScheduledWork flag to
   JSFinalizationRegistry that can be used for this check instead.

* jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):
* runtime/DeferredWorkTimer.cpp:
(JSC::DeferredWorkTimer::TicketData::TicketData):
(JSC::DeferredWorkTimer::TicketData::vm):
(JSC::DeferredWorkTimer::TicketData::cancel):
(JSC::DeferredWorkTimer::doWork):
(JSC::DeferredWorkTimer::addPendingWork):
(JSC::DeferredWorkTimer::hasPendingWork):
(JSC::DeferredWorkTimer::hasDependancyInPendingWork):
(JSC::DeferredWorkTimer::cancelPendingWork):
* runtime/DeferredWorkTimer.h:
(JSC::DeferredWorkTimer::TicketData::target):
* runtime/JSFinalizationRegistry.cpp:
(JSC::JSFinalizationRegistry::finalizeUnconditionally):
* runtime/JSFinalizationRegistry.h:
* wasm/WasmStreamingCompiler.cpp:
(JSC::Wasm::StreamingCompiler::StreamingCompiler):
(JSC::Wasm::StreamingCompiler::~StreamingCompiler):
(JSC::Wasm::StreamingCompiler::didComplete):
(JSC::Wasm::StreamingCompiler::fail):
(JSC::Wasm::StreamingCompiler::cancel):
* wasm/WasmStreamingCompiler.h:
* wasm/js/JSWebAssembly.cpp:
(JSC::JSWebAssembly::webAssemblyModuleValidateAsync):
(JSC::instantiate):
(JSC::compileAndInstantiate):
(JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/jsc.cpp
trunk/Source/_javascript_Core/runtime/DeferredWorkTimer.cpp

[webkit-changes] [287419] trunk/Source/WTF

2021-12-23 Thread weinig
Title: [287419] trunk/Source/WTF








Revision 287419
Author wei...@apple.com
Date 2021-12-23 20:23:37 -0800 (Thu, 23 Dec 2021)


Log Message
Gradient color interpolation incorrect for colors with alpha (need to interpolate premultiplied colors)
https://bugs.webkit.org/show_bug.cgi?id=150940


Reviewed by Simon Fraser.

Enable CSSGradientPremultipliedAlphaInterpolationEnabled by default.

* Scripts/Preferences/WebPreferencesExperimental.yaml:

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml




Diff

Modified: trunk/Source/WTF/ChangeLog (287418 => 287419)

--- trunk/Source/WTF/ChangeLog	2021-12-24 01:49:20 UTC (rev 287418)
+++ trunk/Source/WTF/ChangeLog	2021-12-24 04:23:37 UTC (rev 287419)
@@ -1,3 +1,15 @@
+2021-12-23  Sam Weinig  
+
+Gradient color interpolation incorrect for colors with alpha (need to interpolate premultiplied colors)
+https://bugs.webkit.org/show_bug.cgi?id=150940
+
+
+Reviewed by Simon Fraser.
+
+Enable CSSGradientPremultipliedAlphaInterpolationEnabled by default.
+
+* Scripts/Preferences/WebPreferencesExperimental.yaml:
+
 2021-12-23  Brady Eidson  
 
 Add WTF::UUID class which is natively a 128-bit integer


Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (287418 => 287419)

--- trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml	2021-12-24 01:49:20 UTC (rev 287418)
+++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml	2021-12-24 04:23:37 UTC (rev 287419)
@@ -290,11 +290,11 @@
   humanReadableDescription: "Enable premultiplied alpha interpolated CSS gradients"
   defaultValue:
 WebKitLegacy:
-  default: false
+  default: true
 WebKit:
-  default: false
+  default: true
 WebCore:
-  default: false
+  default: true
 
 # FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well.
 CSSIndividualTransformPropertiesEnabled:






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


[webkit-changes] [287418] trunk

2021-12-23 Thread sihui_liu
Title: [287418] trunk








Revision 287418
Author sihui_...@apple.com
Date 2021-12-23 17:49:20 -0800 (Thu, 23 Dec 2021)


Log Message
Don't create LocalStorage database for read if it does not exist
https://bugs.webkit.org/show_bug.cgi?id=234569

Reviewed by Alex Christensen.

Source/WebKit:

If database does not exists when read, we can return empty or null, instead of creating an empty database.

New API test: WKWebView.LocalStorageNoRecordAfterGetItem

* NetworkProcess/storage/SQLiteStorageArea.cpp:
(WebKit::SQLiteStorageArea::isEmpty):
(WebKit::SQLiteStorageArea::prepareDatabase):
(WebKit::SQLiteStorageArea::getItemFromDatabase):
(WebKit::SQLiteStorageArea::allItems):
(WebKit::SQLiteStorageArea::setItem):
(WebKit::SQLiteStorageArea::removeItem):
(WebKit::SQLiteStorageArea::clear):
* NetworkProcess/storage/SQLiteStorageArea.h:

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/LocalStorageDatabaseTracker.mm:
(-[LocalStorageUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp
trunk/Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.h
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/LocalStorageDatabaseTracker.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (287417 => 287418)

--- trunk/Source/WebKit/ChangeLog	2021-12-24 01:22:12 UTC (rev 287417)
+++ trunk/Source/WebKit/ChangeLog	2021-12-24 01:49:20 UTC (rev 287418)
@@ -1,3 +1,24 @@
+2021-12-23  Sihui Liu  
+
+Don't create LocalStorage database for read if it does not exist
+https://bugs.webkit.org/show_bug.cgi?id=234569
+
+Reviewed by Alex Christensen.
+
+If database does not exists when read, we can return empty or null, instead of creating an empty database.
+
+New API test: WKWebView.LocalStorageNoRecordAfterGetItem
+
+* NetworkProcess/storage/SQLiteStorageArea.cpp:
+(WebKit::SQLiteStorageArea::isEmpty):
+(WebKit::SQLiteStorageArea::prepareDatabase):
+(WebKit::SQLiteStorageArea::getItemFromDatabase):
+(WebKit::SQLiteStorageArea::allItems):
+(WebKit::SQLiteStorageArea::setItem):
+(WebKit::SQLiteStorageArea::removeItem):
+(WebKit::SQLiteStorageArea::clear):
+* NetworkProcess/storage/SQLiteStorageArea.h:
+
 2021-12-23  Matt Woodrow  
 
 Check allowed network hosts list when we schedule the load in the network process


Modified: trunk/Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp (287417 => 287418)

--- trunk/Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp	2021-12-24 01:22:12 UTC (rev 287417)
+++ trunk/Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp	2021-12-24 01:49:20 UTC (rev 287418)
@@ -101,9 +101,12 @@
 if (m_cache)
 return m_cache->isEmpty();
 
-if (!prepareDatabase())
+if (!prepareDatabase(ShouldCreateIfNotExists::No))
 return true;
 
+if (!m_database)
+return true;
+
 auto statement = cachedStatement(StatementType::CountItems);
 if (!statement || statement->step() != SQLITE_ROW) {
 RELEASE_LOG_ERROR(Storage, "SQLiteStorageArea::isEmpty failed on executing statement (%d) - %s", m_database->lastError(), m_database->lastErrorMsg());
@@ -148,11 +151,15 @@
 return true;
 }
 
-bool SQLiteStorageArea::prepareDatabase()
+bool SQLiteStorageArea::prepareDatabase(ShouldCreateIfNotExists shouldCreateIfNotExists)
 {
 if (m_database && m_database->isOpen())
 return true;
 
+m_database = nullptr;
+if (shouldCreateIfNotExists == ShouldCreateIfNotExists::No && !FileSystem::fileExists(m_path))
+return true;
+
 m_database = makeUnique();
 FileSystem::makeAllDirectories(FileSystem::parentPath(m_path));
 if (!m_database->open(m_path)) {
@@ -224,9 +231,12 @@
 
 Expected SQLiteStorageArea::getItemFromDatabase(const String& key)
 {
-if (!prepareDatabase())
+if (!prepareDatabase(ShouldCreateIfNotExists::No))
 return makeUnexpected(StorageError::Database);
 
+if (!m_database)
+return makeUnexpected(StorageError::ItemNotFound);
+
 auto statement = cachedStatement(StatementType::GetItem);
 if (!statement || statement->bindText(1, key)) {
 RELEASE_LOG_ERROR(Storage, "SQLiteStorageArea::getItemFromDatabase failed on creating statement (%d) - %s", m_database->lastError(), m_database->lastErrorMsg());
@@ -248,7 +258,7 @@
 {
 ASSERT(!isMainRunLoop());
 
-if (!prepareDatabase())
+if (!prepareDatabase(ShouldCreateIfNotExists::No) || !m_database)
 return HashMap { };
 
 HashMap items;
@@ -296,11 +306,10 @@
 {
 ASSERT(!isMainRunLoop());
 
-if (!prepareDatabase())
+if (!prepareDatabase(ShouldCreateIfNotExists::Yes))
 return makeUnexpected(StorageError::Database);
 
 startTransactionIfNecessary();
-
 String oldValue;
 if (auto valueOrError = getItem(key))

[webkit-changes] [287417] trunk

2021-12-23 Thread zalan
Title: [287417] trunk








Revision 287417
Author za...@apple.com
Date 2021-12-23 17:22:12 -0800 (Thu, 23 Dec 2021)


Log Message
REGRESSION(Containment) nullptr deref in RenderBox::styleDidChange
https://bugs.webkit.org/show_bug.cgi?id=234647


Reviewed by Simon Fraser.

Source/WebCore:

Do not try to propagate the writing mode to the RenderView unless we are attached to one.

Test: fast/dynamic/document-elment-renderer-null-crash.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):

LayoutTests:

* fast/dynamic/document-elment-renderer-null-crash-expected.txt: Added.
* fast/dynamic/document-elment-renderer-null-crash.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderBox.cpp


Added Paths

trunk/LayoutTests/fast/dynamic/document-elment-renderer-null-crash-expected.txt
trunk/LayoutTests/fast/dynamic/document-elment-renderer-null-crash.html




Diff

Modified: trunk/LayoutTests/ChangeLog (287416 => 287417)

--- trunk/LayoutTests/ChangeLog	2021-12-23 23:46:51 UTC (rev 287416)
+++ trunk/LayoutTests/ChangeLog	2021-12-24 01:22:12 UTC (rev 287417)
@@ -1,3 +1,14 @@
+2021-12-23  Alan Bujtas  
+
+REGRESSION(Containment) nullptr deref in RenderBox::styleDidChange
+https://bugs.webkit.org/show_bug.cgi?id=234647
+
+
+Reviewed by Simon Fraser.
+
+* fast/dynamic/document-elment-renderer-null-crash-expected.txt: Added.
+* fast/dynamic/document-elment-renderer-null-crash.html: Added.
+
 2021-12-23  Tim Nguyen  
 
 Rebaseline getComputedStyle tests for iOS after r287356


Added: trunk/LayoutTests/fast/dynamic/document-elment-renderer-null-crash-expected.txt (0 => 287417)

--- trunk/LayoutTests/fast/dynamic/document-elment-renderer-null-crash-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dynamic/document-elment-renderer-null-crash-expected.txt	2021-12-24 01:22:12 UTC (rev 287417)
@@ -0,0 +1 @@
+PASS if no crash


Added: trunk/LayoutTests/fast/dynamic/document-elment-renderer-null-crash.html (0 => 287417)

--- trunk/LayoutTests/fast/dynamic/document-elment-renderer-null-crash.html	(rev 0)
+++ trunk/LayoutTests/fast/dynamic/document-elment-renderer-null-crash.html	2021-12-24 01:22:12 UTC (rev 287417)
@@ -0,0 +1,12 @@
+PASS if no crash
+
+if (window.testRunner)
+  testRunner.dumpAsText();
+var iframe = document.createElement("iframe");
+insertionPoint.appendChild(iframe);
+
+var iframeDocument = iframe.contentWindow.document; 
+iframeDocument.open();
+iframeDocument.appendChild(document.createElement("script"));
+iframeDocument.close();
+


Modified: trunk/Source/WebCore/ChangeLog (287416 => 287417)

--- trunk/Source/WebCore/ChangeLog	2021-12-23 23:46:51 UTC (rev 287416)
+++ trunk/Source/WebCore/ChangeLog	2021-12-24 01:22:12 UTC (rev 287417)
@@ -1,3 +1,18 @@
+2021-12-23  Alan Bujtas  
+
+REGRESSION(Containment) nullptr deref in RenderBox::styleDidChange
+https://bugs.webkit.org/show_bug.cgi?id=234647
+
+
+Reviewed by Simon Fraser.
+
+Do not try to propagate the writing mode to the RenderView unless we are attached to one.
+
+Test: fast/dynamic/document-elment-renderer-null-crash.html
+
+* rendering/RenderBox.cpp:
+(WebCore::RenderBox::styleDidChange):
+
 2021-12-23  Tim Nguyen  
 
 Update features.json for STP 134-137


Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (287416 => 287417)

--- trunk/Source/WebCore/rendering/RenderBox.cpp	2021-12-23 23:46:51 UTC (rev 287416)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp	2021-12-24 01:22:12 UTC (rev 287417)
@@ -350,33 +350,39 @@
 bool rootStyleChanged = false;
 bool viewDirectionOrWritingModeChanged = false;
 auto* rootRenderer = isBodyRenderer ? documentElementRenderer : nullptr;
-if (!isBodyRenderer || !(shouldApplyAnyContainment(*this) || shouldApplyAnyContainment(*documentElementRenderer))) {
+
+auto propagateWritingModeToRenderViewIfApplicable = [&] {
 // Propagate the new writing mode and direction up to the RenderView.
-if (viewStyle.direction() != newStyle.direction() && (isDocElementRenderer || !documentElementRenderer->style().hasExplicitlySetDirection())) {
-viewStyle.setDirection(newStyle.direction());
-viewDirectionOrWritingModeChanged = true;
-if (isBodyRenderer) {
-rootRenderer->mutableStyle().setDirection(newStyle.direction());
-rootStyleChanged = true;
+if (!documentElementRenderer)
+return;
+if (!isBodyRenderer || !(shouldApplyAnyContainment(*this) || shouldApplyAnyContainment(*documentElementRenderer))) {
+if (viewStyle.direction() != newStyle.direction() && (isDocElementRenderer || !documentElementRenderer->style().hasExplicitlySetDirection())) {
+

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

2021-12-23 Thread ntim
Title: [287416] trunk/Source/WebCore








Revision 287416
Author n...@apple.com
Date 2021-12-23 15:46:51 -0800 (Thu, 23 Dec 2021)


Log Message
Update features.json for STP 134-137
https://bugs.webkit.org/show_bug.cgi?id=234650

Reviewed by Simon Fraser.

New contacts for Web Authn, dialog, inert (with their permission).
New CSS features added.

* features.json:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/features.json




Diff

Modified: trunk/Source/WebCore/ChangeLog (287415 => 287416)

--- trunk/Source/WebCore/ChangeLog	2021-12-23 23:19:11 UTC (rev 287415)
+++ trunk/Source/WebCore/ChangeLog	2021-12-23 23:46:51 UTC (rev 287416)
@@ -1,5 +1,17 @@
 2021-12-23  Tim Nguyen  
 
+Update features.json for STP 134-137
+https://bugs.webkit.org/show_bug.cgi?id=234650
+
+Reviewed by Simon Fraser.
+
+New contacts for Web Authn, dialog, inert (with their permission).
+New CSS features added.
+
+* features.json:
+
+2021-12-23  Tim Nguyen  
+
 Update display property values in CSSProperties.json
 https://bugs.webkit.org/show_bug.cgi?id=234649
 


Modified: trunk/Source/WebCore/features.json (287415 => 287416)

--- trunk/Source/WebCore/features.json	2021-12-23 23:19:11 UTC (rev 287415)
+++ trunk/Source/WebCore/features.json	2021-12-23 23:46:51 UTC (rev 287416)
@@ -88,6 +88,15 @@
 "category": "css"
 },
 {
+"name": "CSS Cascading and Inheritance Level 5",
+"status": {
+"status": "Supported"
+},
+"url": "https://drafts.csswg.org/css-cascade-5/",
+"keywords": ["css", "css-cascade", "layer"],
+"category": "css"
+},
+{
 "name": "CSS Color Level 4",
 "status": {
 "status": "Supported"
@@ -100,8 +109,7 @@
 {
 "name": "CSS Containment Level 1",
 "status": {
-"status": "In Development",
-"enabled-by-default": false
+"status": "Supported"
 },
 "url": "https://www.w3.org/TR/css-contain-1/",
 "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=172026",
@@ -331,6 +339,12 @@
 "description": "Exposes CSS values as typed _javascript_ objects to facilitate their performant manipulation."
 },
 {
+"name": "CSS Values and Units Module Level 4",
+"url": "https://drafts.csswg.org/css-values-4/",
+"keywords": ["css", "units", "values"],
+"category": "css"
+},
+{
 "name": "CSS Variables",
 "status": {
 "status": "Supported"
@@ -804,9 +818,9 @@
 "category": "webapps",
 "description": "A _javascript_ API for web applications to perform cryptographic operations.",
 "contact": {
-"name": "Jiewen Tan",
-"email": "jiewen_...@apple.com",
-"twitter": "@alanwaketan"
+"name": "J Pascoe",
+"twitter": "@pascoej_",
+"email": "j_pas...@apple.com"
 }
 },
 {
@@ -881,6 +895,24 @@
 
 "features": [
 {
+"name": "CSS Cascade Layers",
+"status": {
+"status": "Supported"
+},
+"url": "https://www.w3.org/TR/css-cascade-5/#layering",
+"specification": "CSS Cascading and Inheritance Level 5",
+"description": "In the same way that cascade origins provide a balance of power between user and author styles, cascade layers provide a structured way to organize and balance concerns within a single origin. Rules within a single cascade layer cascade together, without interleaving with style rules outside the layer."
+},
+{
+"name": "CSS viewport-relative units",
+"status": {
+"status": "Supported"
+},
+"url": "https://drafts.csswg.org/css-values-4/#viewport-relative-lengths",
+"specification": "CSS Values and Units Module Level 4",
+"description": "The *vw, *vh, *vi, *vb, *vmin, *vmax units are relative to the size of the initial containing block. When the height or width of the initial containing block is changed, they are scaled accordingly."
+},
+{
 "name": "CSS Selector :any-link",
 "status": {
 "status": "Supported"
@@ -898,8 +930,7 @@
 {
 "name": "CSS Selector :focus-visible",
 "status": {
-"status": "In Development",
-"enabled-by-default": false
+"status": "Supported"
 },
 "url": "https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo",
 "specification": "CSS Selectors Level 4",
@@ -927,6 +958,15 @@
 }
 },
 {
+"name": "CSS Selector :has()",
+"status": {
+"status": "Supported"
+},
+"url": "http://dev.w3.org/csswg/selectors-4/#relational",
+"specification": "CSS Selectors Level 4",
+"description": "The selector :has() takes a relative selector list as argument and is an 

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

2021-12-23 Thread ntim
Title: [287415] trunk/Source/WebCore








Revision 287415
Author n...@apple.com
Date 2021-12-23 15:19:11 -0800 (Thu, 23 Dec 2021)


Log Message
Update display property values in CSSProperties.json
https://bugs.webkit.org/show_bug.cgi?id=234649

Reviewed by Simon Fraser.

Removed some spec links, since they're all in the css-display-3 spec which is already linked for the property.

flow, flow-root: r276293 implemented those 2 keywords in CSSPropertyParser.cpp (consumeDisplay function).

compact: removed in r163560

Also remove duplicate values array for border-collapse.

* css/CSSProperties.json:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/css/CSSProperties.json




Diff

Modified: trunk/Source/WebCore/ChangeLog (287414 => 287415)

--- trunk/Source/WebCore/ChangeLog	2021-12-23 23:09:43 UTC (rev 287414)
+++ trunk/Source/WebCore/ChangeLog	2021-12-23 23:19:11 UTC (rev 287415)
@@ -1,3 +1,20 @@
+2021-12-23  Tim Nguyen  
+
+Update display property values in CSSProperties.json
+https://bugs.webkit.org/show_bug.cgi?id=234649
+
+Reviewed by Simon Fraser.
+
+Removed some spec links, since they're all in the css-display-3 spec which is already linked for the property.
+
+flow, flow-root: r276293 implemented those 2 keywords in CSSPropertyParser.cpp (consumeDisplay function).
+
+compact: removed in r163560
+
+Also remove duplicate values array for border-collapse.
+
+* css/CSSProperties.json:
+
 2021-12-23  Matt Woodrow  
 
 Check allowed network hosts list when we schedule the load in the network process


Modified: trunk/Source/WebCore/css/CSSProperties.json (287414 => 287415)

--- trunk/Source/WebCore/css/CSSProperties.json	2021-12-23 23:09:43 UTC (rev 287414)
+++ trunk/Source/WebCore/css/CSSProperties.json	2021-12-23 23:19:11 UTC (rev 287415)
@@ -277,28 +277,10 @@
 "values": [
 "inline",
 "block",
-{
-"value": "flow",
-"status": "not implemented",
-"url": "https://www.w3.org/TR/css-display-3/#valdef-display-flow"
-},
-{
-"value": "flow-root",
-"status": "not implemented",
-"url": "https://www.w3.org/TR/css-display-3/#valdef-display-flow-root"
-},
+"flow",
+"flow-root",
 "list-item",
-{
-"value": "compact",
-"url": "https://www.w3.org/TR/REC-CSS2/visuren.html#compact"
-},
 "inline-block",
-{
-"value": "run-in",
-"status": "removed",
-"url": "https://www.w3.org/TR/css-display-3/#valdef-display-run-in",
-"comment": "Removed in https://trac.webkit.org/r163560"
-},
 "table",
 "inline-table",
 "table-row-group",
@@ -309,36 +291,45 @@
 "table-column",
 "table-cell",
 "table-caption",
+"flex",
+"inline-flex",
+"grid",
+"inline-grid",
 {
+"value": "ruby",
+"status": "not implemented"
+},
+"contents",
+"none",
+{
 "value": "-webkit-box",
-"url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/"
+"status": "obsolete",
+"url": "https://compat.spec.whatwg.org/#css-keyword-mappings"
 },
 {
 "value": "-webkit-inline-box",
-"url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/"
+"status": "obsolete",
+"url": "https://compat.spec.whatwg.org/#css-keyword-mappings"
 },
 {
-"value": "flex",
-"url": "https://www.w3.org/TR/css-flexbox-1/#valdef-display-flex"
+"value": "-webkit-flex",
+"status": "obsolete"
 },
-"-webkit-flex",
 {
-"value": "inline-flex",
-"url": "https://www.w3.org/TR/css-flexbox-1/#valdef-display-inline-flex"
+"value": "-webkit-inline-flex",
+"status": "obsolete"
 },
-"-webkit-inline-flex",
 {
-"value": "contents",
-"url": "https://www.w3.org/TR/css-display-3/#valdef-display-contents"
+"value": "compact",
+"status": "removed",
+"url": "https://www.w3.org/TR/REC-CSS2/visuren.html#compact",
+  

[webkit-changes] [287414] trunk

2021-12-23 Thread commit-queue
Title: [287414] trunk








Revision 287414
Author commit-qu...@webkit.org
Date 2021-12-23 15:09:43 -0800 (Thu, 23 Dec 2021)


Log Message
Check allowed network hosts list when we schedule the load in the network process
https://bugs.webkit.org/show_bug.cgi?id=234543


Patch by Matt Woodrow  on 2021-12-23
Reviewed by Alex Christensen.

The check for WKWebViewConfiguration._allowedNetworkHost previously happened before the check to see if
the given ResourceRequest would directly from an archive.
This moves to the allowed network host list check to happen when we schedule the network request, and thus
allows subresources cached within an archive to load, even if their original URL would be blocked.
Source/WebCore:

New test LoadWebArchive.DisallowedNetworkHosts added.

* loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
* loader/ResourceLoadNotifier.h:
(WebCore::ResourceLoadNotifier::isInitialRequestIdentifier):

Source/WebKit:

We also need to check when redirecting to prevent an allowed domain from redirecting to a forbidden domain.
This also makes it so that WKWebViewConfiguration._loadsSubresources only prevents
subresource loads that would touch the network, so we can't use WKURLSchemeHandler to test it any more.
That's fine, since the two users of the SPI only load URLs from the network.

New test LoadWebArchive.DisallowedNetworkHosts added.

* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::willSendRequest):

Tools:

New test LoadWebArchive.DisallowedNetworkHosts added.

* TestWebKitAPI/Tests/mac/LoadWebArchive.mm:
(TestWebKitAPI::TEST):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp
trunk/Source/WebCore/loader/ResourceLoadNotifier.h
trunk/Source/WebCore/loader/ResourceLoader.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm
trunk/Tools/TestWebKitAPI/Tests/mac/LoadWebArchive.mm
trunk/Tools/TestWebKitAPI/cocoa/HTTPServer.h
trunk/Tools/TestWebKitAPI/cocoa/HTTPServer.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (287413 => 287414)

--- trunk/Source/WebCore/ChangeLog	2021-12-23 22:00:33 UTC (rev 287413)
+++ trunk/Source/WebCore/ChangeLog	2021-12-23 23:09:43 UTC (rev 287414)
@@ -1,3 +1,23 @@
+2021-12-23  Matt Woodrow  
+
+Check allowed network hosts list when we schedule the load in the network process
+https://bugs.webkit.org/show_bug.cgi?id=234543
+
+
+Reviewed by Alex Christensen.
+
+The check for WKWebViewConfiguration._allowedNetworkHost previously happened before the check to see if
+the given ResourceRequest would directly from an archive.
+This moves to the allowed network host list check to happen when we schedule the network request, and thus
+allows subresources cached within an archive to load, even if their original URL would be blocked.
+
+New test LoadWebArchive.DisallowedNetworkHosts added.
+
+* loader/ResourceLoadNotifier.cpp:
+(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
+* loader/ResourceLoadNotifier.h:
+(WebCore::ResourceLoadNotifier::isInitialRequestIdentifier):
+
 2021-12-23  Brady Eidson  
 
 Add WTF::UUID class which is natively a 128-bit integer


Modified: trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp (287413 => 287414)

--- trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp	2021-12-23 22:00:33 UTC (rev 287413)
+++ trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp	2021-12-23 23:09:43 UTC (rev 287414)
@@ -137,12 +137,6 @@
 Ref protectedFrame(m_frame);
 m_frame.loader().client().dispatchWillSendRequest(loader, identifier, request, redirectResponse);
 
-if (auto* page = m_frame.page()) {
-auto mainFrameMainResource = m_frame.isMainFrame() && m_initialRequestIdentifier == identifier ? MainFrameMainResource::Yes : MainFrameMainResource::No;
-if (!page->allowsLoadFromURL(request.url(), mainFrameMainResource))
-request = { };
-}
-
 // If the URL changed, then we want to put that new URL in the "did tell client" set too.
 if (!request.isNull() && oldRequestURL != request.url().string() && m_frame.loader().documentLoader())
 m_frame.loader().documentLoader()->didTellClientAboutLoad(request.url().string());


Modified: trunk/Source/WebCore/loader/ResourceLoadNotifier.h (287413 => 287414)

--- trunk/Source/WebCore/loader/ResourceLoadNotifier.h	2021-12-23 22:00:33 UTC (rev 287413)
+++ trunk/Source/WebCore/loader/ResourceLoadNotifier.h	2021-12-23 23:09:43 UTC (rev 287414)
@@ -68,6 +68,11 @@
 
 void sendRemainingDelegateMessages(DocumentLoader*, ResourceLoaderIdentifier, const 

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

2021-12-23 Thread bfulgham
Title: [287413] trunk/Source/WebKit








Revision 287413
Author bfulg...@apple.com
Date 2021-12-23 14:00:33 -0800 (Thu, 23 Dec 2021)


Log Message
Allow a necessary syscall in the WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=234641


Reviewed by Alan Bujtas.

Telemetry and testing logs indicate that we need to allow
'SYS_memorystatus_control' in our WebContent sandbox.

We allow this in all other sandboxes, so this was likely an oversight.

* WebProcess/com.apple.WebProcess.sb.in:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in




Diff

Modified: trunk/Source/WebKit/ChangeLog (287412 => 287413)

--- trunk/Source/WebKit/ChangeLog	2021-12-23 21:50:28 UTC (rev 287412)
+++ trunk/Source/WebKit/ChangeLog	2021-12-23 22:00:33 UTC (rev 287413)
@@ -1,3 +1,18 @@
+2021-12-23  Brent Fulgham  
+
+Allow a necessary syscall in the WebContent sandbox
+https://bugs.webkit.org/show_bug.cgi?id=234641
+
+
+Reviewed by Alan Bujtas.
+
+Telemetry and testing logs indicate that we need to allow
+'SYS_memorystatus_control' in our WebContent sandbox.
+
+We allow this in all other sandboxes, so this was likely an oversight.
+
+* WebProcess/com.apple.WebProcess.sb.in:
+
 2021-12-23  Brady Eidson  
 
 Add WTF::UUID class which is natively a 128-bit integer


Modified: trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in (287412 => 287413)

--- trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in	2021-12-23 21:50:28 UTC (rev 287412)
+++ trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in	2021-12-23 22:00:33 UTC (rev 287413)
@@ -1945,6 +1945,7 @@
 SYS_lseek
 SYS_lstat64
 SYS_madvise
+SYS_memorystatus_control
 SYS_mincore
 SYS_mkdir
 SYS_mmap






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


[webkit-changes] [287412] trunk

2021-12-23 Thread beidson
Title: [287412] trunk








Revision 287412
Author beid...@apple.com
Date 2021-12-23 13:50:28 -0800 (Thu, 23 Dec 2021)


Log Message
Add WTF::UUID class which is natively a 128-bit integer
https://bugs.webkit.org/show_bug.cgi?id=234571

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Refactor, covered by existing tests)

* Modules/notifications/NotificationData.h:
(WebCore::NotificationData::decode):

Source/WebKit:

Notifications - which are UUID identified - are now addressed by a UUID object instead of a v4 UUID string.

* NetworkProcess/Notifications/NetworkNotificationManager.cpp:
(WebKit::NetworkNotificationManager::cancelNotification):
(WebKit::NetworkNotificationManager::clearNotifications):
(WebKit::NetworkNotificationManager::didDestroyNotification):
* NetworkProcess/Notifications/NetworkNotificationManager.h:

* Scripts/webkit/messages.py:
(forward_declarations_and_headers_for_replies):
(headers_for_type):

* Shared/Notifications/NotificationManagerMessageHandler.h:
* Shared/Notifications/NotificationManagerMessageHandler.messages.in:

* UIProcess/API/C/WKNotification.cpp:
(WKNotificationCopyCoreIDForTesting):
* UIProcess/API/C/WKNotification.h:

* UIProcess/API/C/WKNotificationManager.cpp:
(WKNotificationManagerProviderDidClickNotification_b):
* UIProcess/API/C/WKNotificationManager.h:

* UIProcess/Notifications/WebNotification.h:
(WebKit::WebNotification::coreNotificationID const):

* UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp:
(WebKit::WebNotificationManagerMessageHandler::cancelNotification):
(WebKit::WebNotificationManagerMessageHandler::clearNotifications):
(WebKit::WebNotificationManagerMessageHandler::didDestroyNotification):
* UIProcess/Notifications/WebNotificationManagerMessageHandler.h:

* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::cancel):
(WebKit::WebNotificationManagerProxy::didDestroyNotification):
(WebKit::pageIDsMatch):
(WebKit::pageAndNotificationIDsMatch):
(WebKit::WebNotificationManagerProxy::clearNotifications):
(WebKit::WebNotificationManagerProxy::providerDidClickNotification):
(WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
* UIProcess/Notifications/WebNotificationManagerProxy.h:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::cancelNotification):
(WebKit::WebPageProxy::clearNotifications):
(WebKit::WebPageProxy::didDestroyNotification):
* UIProcess/WebPageProxy.h:

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleCopyWebNotificationID):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::webNotificationID):
* WebProcess/InjectedBundle/InjectedBundle.h:

* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::didShowNotification):
(WebKit::WebNotificationManager::didClickNotification):
(WebKit::WebNotificationManager::didCloseNotifications):
* WebProcess/Notifications/WebNotificationManager.h:
* WebProcess/Notifications/WebNotificationManager.messages.in:

Source/WTF:

This patch adds a new WTF::UUID class.

For now, it is simply a wrapper around a 128-bit integer, and creating a new one primes that integer with
cryptographically random data.

It can be encoded/decoded as well as used as a HashKey.

And it will be a great utility to use as a unique object identifier for objects that logically exist
in multiple processes.

On that note, it also changes "UUIDIdentifier" to use this new UUID class instead of a v4 UUID string.

* wtf/Identified.h:
(WTF::UUIDIdentified::UUIDIdentified):

* wtf/UUID.cpp:
(WTF::UUID::UUID):
(WTF::UUID::toVector const):
(WTF::UUID::hash const):

* wtf/UUID.h:
(WTF::UUID::create):
(WTF::UUID::UUID):
(WTF::UUID::operator== const):
(WTF::UUID::data const):
(WTF::UUID::isHashTableDeletedValue const):
(WTF::UUIDHash::hash):
(WTF::UUIDHash::equal):
(WTF::HashTraits::emptyValue):
(WTF::HashTraits::constructDeletedValue):
(WTF::HashTraits::isDeletedValue):
(WTF::UUID::encode const):
(WTF::UUID::decode):

Tools:

Notifications - which are UUID identified - are now addressed by a UUID object instead of a v4 UUID string.

The way our C-API vends that UUID object is through a data object, so change WKTR to account for that.

* WebKitTestRunner/DataFunctions.h: Copied from Source/WebKit/UIProcess/Notifications/WebNotificationManagerMessageHandler.h.
(WTR::dataValue):
(WTR::dataToUUID):
(WTR::uuidToData):

* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::postSimulateWebNotificationClick):
(WTR::postPageMessage):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::simulateWebNotificationClick):
* WebKitTestRunner/TestController.h:

* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:

* WebKitTestRunner/WebNotificationProvider.cpp:

[webkit-changes] [287411] trunk

2021-12-23 Thread weinig
Title: [287411] trunk








Revision 287411
Author wei...@apple.com
Date 2021-12-23 13:35:00 -0800 (Thu, 23 Dec 2021)


Log Message
Encapsulate gradient color stops into a self contained class
https://bugs.webkit.org/show_bug.cgi?id=234583

Reviewed by Simon Fraser.

Source/WebCore:

Replace most uses of Gradient::ColorStopVector with new GradientColorStops class.

* Headers.cmake:
* WebCore.xcodeproj/project.pbxproj:
Add new file.

* css/CSSGradientValue.h:
* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::computeStops):
Replace some usage of Gradient::ColorStopVector with GradientColorStops. While here,
optimize color filter transformation to only happen when there is color filter,
removing extra unnecessary copies of Colors.

Also utilizes the GradientColorStops::Sorted type to create a GradientColorStops
object that has the isSorted bit set.

(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSRadialGradientValue::createGradient):
(WebCore::CSSConicGradientValue::createGradient):
The calls to setSortedColorStops is no longer needed, as the GradientColorStops
now maintains that state.

* platform/graphics/Color.h:
(WebCore::add):
Move definition of add(Hasher&, Color) here, where it makes sense, rather than
keeping it in Gradient.

* platform/graphics/FloatPoint.h:
(WebCore::add):
Move definition of add(Hasher&, FloatPoint) here, where it makes sense, rather than
keeping it in Gradient.

* platform/graphics/Gradient.h:
* platform/graphics/Gradient.cpp:
(WebCore::Gradient::create):
(WebCore::Gradient::Gradient):
(WebCore::Gradient::addColorStop):
(WebCore::Gradient::hash const):
(WebCore::Gradient::setSortedColorStops): Deleted.
(WebCore::Gradient::sortStops const): Deleted.
Replace ColorStopVector with GradientColorStops. This allows removing the m_stopsSorted
bit, as the new class maintains that, as well as removing setSortedColorStops since
you can achieve this by just creating the Gradient with a GradientColorStops that knows
it is sorted (using the GradientColorStops::Sorted helper).

* platform/graphics/GradientColorStop.h:
(WebCore::add):
Move definition of add(Hasher&, GradientColorStop) here, where it makes sense, rather than
keeping it in Gradient.

* platform/graphics/GradientColorStops.h: Added.
(WebCore::GradientColorStops::GradientColorStops):
(WebCore::GradientColorStops::addColorStop):
(WebCore::GradientColorStops::sort):
(WebCore::GradientColorStops::sorted const):
(WebCore::GradientColorStops::size const):
(WebCore::GradientColorStops::isEmpty const):
(WebCore::GradientColorStops::begin const):
(WebCore::GradientColorStops::end const):
(WebCore::GradientColorStops::mapColors const):
(WebCore::GradientColorStops::stops const):
(WebCore::GradientColorStops::validateIsSorted const):
(WebCore::GradientColorStops::encode const):
(WebCore::GradientColorStops::decode):
Encapsulate state and functionality of the gradient color stop list, maintaining
the sorted state, and providing a pleasent API to work with. In the future, this
will be a good place to add functions to analyze and transform the list for optimizing
what can use the gradient fast paths.

* platform/graphics/cairo/GradientCairo.cpp:
Update to use the new names.

* platform/graphics/cg/GradientCG.cpp:
(WebCore::Gradient::paint):
Ensure the color stops passed to the gradient renderer are sorted using the sorted()
helper, which does an inplace sort and returns a reference to itself.

* platform/graphics/cg/GradientRendererCG.h:
* platform/graphics/cg/GradientRendererCG.cpp:
(WebCore::GradientRendererCG::GradientRendererCG):
(WebCore::GradientRendererCG::pickStrategy const):
(WebCore::GradientRendererCG::makeGradient const):
(WebCore::GradientRendererCG::makeShading const):
Replace uses of GradientColorStopVector with GradientColorStops.

* rendering/svg/RenderSVGResourceGradient.h:
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::stopsByApplyingColorFilter):
Add early return if there is no color filter to apply, and utilize the mapColors()
function to update the colors if there is.

* rendering/svg/RenderSVGResourceLinearGradient.cpp:
(WebCore::RenderSVGResourceLinearGradient::buildGradient const):
* rendering/svg/RenderSVGResourceRadialGradient.cpp:
(WebCore::RenderSVGResourceRadialGradient::buildGradient const):
Remove some extraneous type names.

* svg/GradientAttributes.h:
(WebCore::GradientAttributes::stops const):
(WebCore::GradientAttributes::setStops):
* svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::buildStops):
* svg/SVGGradientElement.h:
Replace uses of GradientColorStopVector with GradientColorStops.

Tools:

* TestRunnerShared/PlatformGTK.cmake: Added.
* TestRunnerShared/PlatformWPE.cmake: Added.
Keep GTK and WPE ports building by propogating glib.h header to the test runnner. Change
by Fujii Hironori.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Headers.cmake
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

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

2021-12-23 Thread commit-queue
Title: [287410] trunk/Source/WebCore








Revision 287410
Author commit-qu...@webkit.org
Date 2021-12-23 12:56:29 -0800 (Thu, 23 Dec 2021)


Log Message
[GStreamer] MediaPlayerPrivateGStreamer mishandles failure to create WebKitTextCombiner
https://bugs.webkit.org/show_bug.cgi?id=233230

Patch by Philippe Normand  on 2021-12-23
Reviewed by Michael Catanzaro.

Gracefully fail when the subenc plugin is not available. It is optional, we should not
assert or crash if it's not found. Two warnings are logged already when it's not found.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/TextCombinerGStreamer.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (287409 => 287410)

--- trunk/Source/WebCore/ChangeLog	2021-12-23 20:54:21 UTC (rev 287409)
+++ trunk/Source/WebCore/ChangeLog	2021-12-23 20:56:29 UTC (rev 287410)
@@ -1,3 +1,16 @@
+2021-12-23  Philippe Normand  
+
+[GStreamer] MediaPlayerPrivateGStreamer mishandles failure to create WebKitTextCombiner
+https://bugs.webkit.org/show_bug.cgi?id=233230
+
+Reviewed by Michael Catanzaro.
+
+Gracefully fail when the subenc plugin is not available. It is optional, we should not
+assert or crash if it's not found. Two warnings are logged already when it's not found.
+
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
+
 2021-12-23  Sihui Liu  
 
 Ensure file handles used in FileSystemAccess API are closed


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (287409 => 287410)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2021-12-23 20:54:21 UTC (rev 287409)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2021-12-23 20:56:29 UTC (rev 287410)
@@ -2759,9 +2759,8 @@
 if (m_isLegacyPlaybin)
 g_signal_connect_swapped(m_pipeline.get(), "text-changed", G_CALLBACK(textChangedCallback), this);
 
-GstElement* textCombiner = webkitTextCombinerNew();
-ASSERT(textCombiner);
-g_object_set(m_pipeline.get(), "text-stream-combiner", textCombiner, nullptr);
+if (auto* textCombiner = webkitTextCombinerNew())
+g_object_set(m_pipeline.get(), "text-stream-combiner", textCombiner, nullptr);
 
 m_textSink = webkitTextSinkNew(*this);
 ASSERT(m_textSink);


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/TextCombinerGStreamer.cpp (287409 => 287410)

--- trunk/Source/WebCore/platform/graphics/gstreamer/TextCombinerGStreamer.cpp	2021-12-23 20:54:21 UTC (rev 287409)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/TextCombinerGStreamer.cpp	2021-12-23 20:56:29 UTC (rev 287410)
@@ -219,7 +219,7 @@
 {
 // The combiner relies on webvttenc, fail early if it's not there.
 if (!isGStreamerPluginAvailable("subenc")) {
-WTFLogAlways("WebKit wasn't able to find a WebVTT encoder. Not continuing without platform support for subtitles.");
+WTFLogAlways("WebKit wasn't able to find a WebVTT encoder. Subtitles handling will be degraded unless gst-plugins-bad is installed.");
 return nullptr;
 }
 






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


[webkit-changes] [287409] trunk/Source/WebInspectorUI

2021-12-23 Thread ntim
Title: [287409] trunk/Source/WebInspectorUI








Revision 287409
Author n...@apple.com
Date 2021-12-23 12:54:21 -0800 (Thu, 23 Dec 2021)


Log Message
Web Inspector: Support conic gradients in gradient editor and autocompletion
https://bugs.webkit.org/show_bug.cgi?id=234562

Reviewed by Devin Rousso.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Controllers/CSSManager.js:
* UserInterface/Models/Gradient.js:
(WI.Gradient.angleFromString):
(WI.Gradient.fromString):
(WI.Gradient.prototype.get angleValue):
(WI.Gradient.prototype.set angleValue):
(WI.Gradient.prototype.get angleUnits):
(WI.Gradient.prototype.set angleUnits):
(WI.Gradient.prototype._angleValueForUnits):
(WI.Gradient):
(WI.LinearGradient.fromComponents):
(WI.LinearGradient.prototype.toString):
(WI.LinearGradient):
(WI.RadialGradient):
(WI.RadialGradient.fromComponents):
(WI.RadialGradient.prototype.get angleValue):
(WI.RadialGradient.prototype.set angleValue):
(WI.RadialGradient.prototype.get angleUnits):
(WI.RadialGradient.prototype.set angleUnits):
(WI.RadialGradient.prototype.copy):
(WI.RadialGradient.prototype.toString):
(WI.ConicGradient):
(WI.ConicGradient.fromComponents):
(WI.ConicGradient.prototype.copy):
(WI.ConicGradient.prototype.toString):
(WI.LinearGradient.prototype.set angleValue): Deleted.
(WI.LinearGradient.prototype.get angleValue): Deleted.
(WI.LinearGradient.prototype.set angleUnits): Deleted.
(WI.LinearGradient.prototype.get angleUnits): Deleted.
(WI.LinearGradient.prototype._angleValueForUnits): Deleted.
* UserInterface/Views/CodeMirrorTextMarkers.js:
* UserInterface/Views/GradientEditor.js:
(WI.GradientEditor):
(WI.GradientEditor.prototype.set gradient):
(WI.GradientEditor.prototype._gradientTypeChanged):
* UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype._addGradientTokens):

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js
trunk/Source/WebInspectorUI/UserInterface/Controllers/CSSManager.js
trunk/Source/WebInspectorUI/UserInterface/Models/Gradient.js
trunk/Source/WebInspectorUI/UserInterface/Views/CodeMirrorTextMarkers.js
trunk/Source/WebInspectorUI/UserInterface/Views/GradientEditor.js
trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetStyleProperty.js




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (287408 => 287409)

--- trunk/Source/WebInspectorUI/ChangeLog	2021-12-23 20:45:45 UTC (rev 287408)
+++ trunk/Source/WebInspectorUI/ChangeLog	2021-12-23 20:54:21 UTC (rev 287409)
@@ -1,5 +1,51 @@
 2021-12-23  Tim Nguyen  
 
+Web Inspector: Support conic gradients in gradient editor and autocompletion
+https://bugs.webkit.org/show_bug.cgi?id=234562
+
+Reviewed by Devin Rousso.
+
+* Localizations/en.lproj/localizedStrings.js:
+* UserInterface/Controllers/CSSManager.js:
+* UserInterface/Models/Gradient.js:
+(WI.Gradient.angleFromString):
+(WI.Gradient.fromString):
+(WI.Gradient.prototype.get angleValue):
+(WI.Gradient.prototype.set angleValue):
+(WI.Gradient.prototype.get angleUnits):
+(WI.Gradient.prototype.set angleUnits):
+(WI.Gradient.prototype._angleValueForUnits):
+(WI.Gradient):
+(WI.LinearGradient.fromComponents):
+(WI.LinearGradient.prototype.toString):
+(WI.LinearGradient):
+(WI.RadialGradient):
+(WI.RadialGradient.fromComponents):
+(WI.RadialGradient.prototype.get angleValue):
+(WI.RadialGradient.prototype.set angleValue):
+(WI.RadialGradient.prototype.get angleUnits):
+(WI.RadialGradient.prototype.set angleUnits):
+(WI.RadialGradient.prototype.copy):
+(WI.RadialGradient.prototype.toString):
+(WI.ConicGradient):
+(WI.ConicGradient.fromComponents):
+(WI.ConicGradient.prototype.copy):
+(WI.ConicGradient.prototype.toString):
+(WI.LinearGradient.prototype.set angleValue): Deleted.
+(WI.LinearGradient.prototype.get angleValue): Deleted.
+(WI.LinearGradient.prototype.set angleUnits): Deleted.
+(WI.LinearGradient.prototype.get angleUnits): Deleted.
+(WI.LinearGradient.prototype._angleValueForUnits): Deleted.
+* UserInterface/Views/CodeMirrorTextMarkers.js:
+* UserInterface/Views/GradientEditor.js:
+(WI.GradientEditor):
+(WI.GradientEditor.prototype.set gradient):
+(WI.GradientEditor.prototype._gradientTypeChanged):
+* UserInterface/Views/SpreadsheetStyleProperty.js:
+(WI.SpreadsheetStyleProperty.prototype._addGradientTokens):
+
+2021-12-23  Tim Nguyen  
+
 Web Inspector: Dark mode: Make gradient editor angle input readable in dark mode
 https://bugs.webkit.org/show_bug.cgi?id=234640
 


Modified: trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js (287408 => 287409)

--- 

[webkit-changes] [287408] trunk/Source/WebInspectorUI

2021-12-23 Thread ntim
Title: [287408] trunk/Source/WebInspectorUI








Revision 287408
Author n...@apple.com
Date 2021-12-23 12:45:45 -0800 (Thu, 23 Dec 2021)


Log Message
Web Inspector: Dark mode: Make gradient editor angle input readable in dark mode
https://bugs.webkit.org/show_bug.cgi?id=234640

Reviewed by Devin Rousso.

Just use the native input styling, which is dark mode compatible by default.

* UserInterface/Views/GradientEditor.css:
(.gradient-editor > .gradient-angle > input[type="number"]):

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Views/GradientEditor.css




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (287407 => 287408)

--- trunk/Source/WebInspectorUI/ChangeLog	2021-12-23 20:36:41 UTC (rev 287407)
+++ trunk/Source/WebInspectorUI/ChangeLog	2021-12-23 20:45:45 UTC (rev 287408)
@@ -1,3 +1,15 @@
+2021-12-23  Tim Nguyen  
+
+Web Inspector: Dark mode: Make gradient editor angle input readable in dark mode
+https://bugs.webkit.org/show_bug.cgi?id=234640
+
+Reviewed by Devin Rousso.
+
+Just use the native input styling, which is dark mode compatible by default.
+
+* UserInterface/Views/GradientEditor.css:
+(.gradient-editor > .gradient-angle > input[type="number"]):
+
 2021-12-21  Patrick Angle  
 
 Web Inspector: Assertion Failed removing subview in ContentViewContainer.prototype._disassociateFromContentView


Modified: trunk/Source/WebInspectorUI/UserInterface/Views/GradientEditor.css (287407 => 287408)

--- trunk/Source/WebInspectorUI/UserInterface/Views/GradientEditor.css	2021-12-23 20:36:41 UTC (rev 287407)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/GradientEditor.css	2021-12-23 20:45:45 UTC (rev 287408)
@@ -89,12 +89,6 @@
 margin-right: 2px;
 padding-right: 4px;
 text-align: right;
-font-size: 13px;
-background-color: white;
-border-radius: 4px;
-border: 1px solid hsl(0, 0%, 60%);
-box-shadow: inset 0 0 1px 1px hsl(0, 0%, 89%);
-outline: none;
 }
 
 .gradient-editor > .gradient-angle > input::-webkit-inner-spin-button {






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


[webkit-changes] [287407] trunk/Tools

2021-12-23 Thread pgriffis
Title: [287407] trunk/Tools








Revision 287407
Author pgrif...@igalia.com
Date 2021-12-23 12:36:41 -0800 (Thu, 23 Dec 2021)


Log Message
[Flatpak] Revert filesystem permission change in r287396
https://bugs.webkit.org/show_bug.cgi?id=234612

Reviewed by Michael Catanzaro.

This causes a regression where some important contents of
XDG_RUNTIME_DIR are overriden and causes issues like TLS failures.

* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/flatpak/flatpakutils.py




Diff

Modified: trunk/Tools/ChangeLog (287406 => 287407)

--- trunk/Tools/ChangeLog	2021-12-23 20:08:53 UTC (rev 287406)
+++ trunk/Tools/ChangeLog	2021-12-23 20:36:41 UTC (rev 287407)
@@ -1,3 +1,16 @@
+2021-12-23  Patrick Griffis  
+
+[Flatpak] Revert filesystem permission change in r287396
+https://bugs.webkit.org/show_bug.cgi?id=234612
+
+Reviewed by Michael Catanzaro.
+
+This causes a regression where some important contents of
+XDG_RUNTIME_DIR are overriden and causes issues like TLS failures.
+
+* flatpak/flatpakutils.py:
+(WebkitFlatpak.run_in_sandbox):
+
 2021-12-23  Wenson Hsieh  
 
 Add API testing support for modal container observation


Modified: trunk/Tools/flatpak/flatpakutils.py (287406 => 287407)

--- trunk/Tools/flatpak/flatpakutils.py	2021-12-23 20:08:53 UTC (rev 287406)
+++ trunk/Tools/flatpak/flatpakutils.py	2021-12-23 20:36:41 UTC (rev 287407)
@@ -765,8 +765,6 @@
"--session-bus",
"--no-a11y-bus",
"--talk-name=org.a11y.Bus",
-   # at-spi creates directories like `$XDG_RUNTIME_DIR/at-spi2-E6A5E1` on the host
-   "--filesystem=" + self.get_user_runtime_dir(),
"--talk-name=org.gtk.vfs",
"--talk-name=org.gtk.vfs.*"]
 






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


[webkit-changes] [287406] trunk

2021-12-23 Thread changseok
Title: [287406] trunk








Revision 287406
Author changs...@webkit.org
Date 2021-12-23 12:08:53 -0800 (Thu, 23 Dec 2021)


Log Message
Add changseok's github username.

Unreviewed.

* metadata/contributors.json:

Modified Paths

trunk/ChangeLog
trunk/metadata/contributors.json




Diff

Modified: trunk/ChangeLog (287405 => 287406)

--- trunk/ChangeLog	2021-12-23 18:36:33 UTC (rev 287405)
+++ trunk/ChangeLog	2021-12-23 20:08:53 UTC (rev 287406)
@@ -1,3 +1,11 @@
+2021-12-23  ChangSeok Oh  
+
+Add changseok's github username.
+
+Unreviewed.
+
+* metadata/contributors.json:
+
 2021-12-15  Chris Lord  
 
 [GTK] Use libgbm and the ANGLE gbm backend to fix initialisation


Modified: trunk/metadata/contributors.json (287405 => 287406)

--- trunk/metadata/contributors.json	2021-12-23 18:36:33 UTC (rev 287405)
+++ trunk/metadata/contributors.json	2021-12-23 20:08:53 UTC (rev 287406)
@@ -1358,6 +1358,7 @@
  "changs...@webkit.org"
   ],
   "expertise" : "WebKitGTK, Layout, Rendering, Security",
+  "github" : "shivamidow",
   "name" : "ChangSeok Oh",
   "nicks" : [
  "changseok"






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


[webkit-changes] [287405] trunk/Source

2021-12-23 Thread sihui_liu
Title: [287405] trunk/Source








Revision 287405
Author sihui_...@apple.com
Date 2021-12-23 10:36:33 -0800 (Thu, 23 Dec 2021)


Log Message
Ensure file handles used in FileSystemAccess API are closed
https://bugs.webkit.org/show_bug.cgi?id=234520

Reviewed by Darin Adler.

Source/WebCore:

WebCore::FileHandle closes file handle in its destructor. Replace FileSystem::PlatformFileHandle with
WebCore::FileHandle in FileSystemSyncAccessHandle and WorkerFileSystemStorageConnection to ensure file handle
get closed if worker thread fails to execute the callback of createSyncAccessHandle, and if
FileSystemSyncAccessHandle is destroyed.

* Modules/filesystemaccess/FileSystemFileHandle.cpp:
(WebCore::FileSystemFileHandle::createSyncAccessHandle):
* Modules/filesystemaccess/FileSystemStorageConnection.h:
* Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp:
(WebCore::FileSystemSyncAccessHandle::create):
(WebCore::FileSystemSyncAccessHandle::FileSystemSyncAccessHandle):
(WebCore::FileSystemSyncAccessHandle::truncate):
(WebCore::FileSystemSyncAccessHandle::getSize):
(WebCore::FileSystemSyncAccessHandle::flush):
(WebCore::FileSystemSyncAccessHandle::closeInternal):
(WebCore::FileSystemSyncAccessHandle::closeFile):
(WebCore::FileSystemSyncAccessHandle::read):
(WebCore::FileSystemSyncAccessHandle::write):
* Modules/filesystemaccess/FileSystemSyncAccessHandle.h:
* Modules/filesystemaccess/WorkerFileSystemStorageConnection.cpp:
(WebCore::WorkerFileSystemStorageConnection::didCreateSyncAccessHandle):
(WebCore::WorkerFileSystemStorageConnection::createSyncAccessHandle):
* Modules/filesystemaccess/WorkerFileSystemStorageConnection.h:
* platform/FileHandle.cpp:
(WebCore::FileHandle::FileHandle):
(WebCore::FileHandle::operator=):
(WebCore::FileHandle::open):
(WebCore::FileHandle::read):
(WebCore::FileHandle::write):
(WebCore::FileHandle::close):
(WebCore::FileHandle::handle const):
* platform/FileHandle.h:

Source/WebKit:

Replace FileSystem::PlatformFileHandle with WebCore::FileHandle in SharedFileHandle to ensure file handle get
closed, if it's not released for use.

* NetworkProcess/storage/FileSystemStorageHandle.cpp:
(WebKit::FileSystemStorageHandle::createSyncAccessHandle):
* NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::createSyncAccessHandle):
* Platform/IPC/SharedFileHandle.cpp:
(IPC::SharedFileHandle::create):
(IPC::SharedFileHandle::close): Deleted.
* Platform/IPC/SharedFileHandle.h:
(IPC::SharedFileHandle::release):
(IPC::SharedFileHandle::SharedFileHandle):
(IPC::SharedFileHandle::handle): Deleted.
(): Deleted.
* Platform/IPC/cocoa/SharedFileHandleCocoa.cpp:
(IPC::SharedFileHandle::create):
(IPC::SharedFileHandle::encode const):
(IPC::SharedFileHandle::decode):
* WebProcess/WebCoreSupport/WebFileSystemStorageConnection.cpp:
(WebKit::WebFileSystemStorageConnection::createSyncAccessHandle):

Source/WTF:

* wtf/CrossThreadCopier.h:

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/filesystemaccess/FileSystemFileHandle.cpp
trunk/Source/WebCore/Modules/filesystemaccess/FileSystemStorageConnection.h
trunk/Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp
trunk/Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.h
trunk/Source/WebCore/Modules/filesystemaccess/WorkerFileSystemStorageConnection.cpp
trunk/Source/WebCore/Modules/filesystemaccess/WorkerFileSystemStorageConnection.h
trunk/Source/WebCore/platform/FileHandle.cpp
trunk/Source/WebCore/platform/FileHandle.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/storage/FileSystemStorageHandle.cpp
trunk/Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp
trunk/Source/WebKit/Platform/IPC/SharedFileHandle.cpp
trunk/Source/WebKit/Platform/IPC/SharedFileHandle.h
trunk/Source/WebKit/Platform/IPC/cocoa/SharedFileHandleCocoa.cpp
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFileSystemStorageConnection.cpp




Diff

Modified: trunk/Source/WTF/ChangeLog (287404 => 287405)

--- trunk/Source/WTF/ChangeLog	2021-12-23 17:57:29 UTC (rev 287404)
+++ trunk/Source/WTF/ChangeLog	2021-12-23 18:36:33 UTC (rev 287405)
@@ -1,3 +1,12 @@
+2021-12-23  Sihui Liu  
+
+Ensure file handles used in FileSystemAccess API are closed
+https://bugs.webkit.org/show_bug.cgi?id=234520
+
+Reviewed by Darin Adler.
+
+* wtf/CrossThreadCopier.h:
+
 2021-12-22  Sihui Liu  
 
 WebsiteDataStore::excludeDirectoryFromBackup should set attribute for existing directories


Modified: trunk/Source/WebCore/ChangeLog (287404 => 287405)

--- trunk/Source/WebCore/ChangeLog	2021-12-23 17:57:29 UTC (rev 287404)
+++ trunk/Source/WebCore/ChangeLog	2021-12-23 18:36:33 UTC (rev 287405)
@@ -1,3 +1,43 @@
+2021-12-23  Sihui Liu  
+
+Ensure file handles used in FileSystemAccess API are closed
+https://bugs.webkit.org/show_bug.cgi?id=234520
+
+Reviewed by Darin Adler.
+
+WebCore::FileHandle closes file 

[webkit-changes] [287404] trunk

2021-12-23 Thread wenson_hsieh
Title: [287404] trunk








Revision 287404
Author wenson_hs...@apple.com
Date 2021-12-23 09:57:29 -0800 (Thu, 23 Dec 2021)


Log Message
Add API testing support for modal container observation
https://bugs.webkit.org/show_bug.cgi?id=234610

Reviewed by Megan Gardner.

Source/WebCore:

Add support for new API tests for modal container observation SPI. See Tools/ChangeLog for more details.

Tests:  ModalContainerObservation.HideAndAllowModalContainer
ModalContainerObservation.HideAndDisallowModalContainer
ModalContainerObservation.HideAndIgnoreModalContainer
ModalContainerObservation.ShowModalContainer

* dom/Document.h:
* page/ModalContainerObserver.cpp:
(WebCore::ModalContainerObserver::updateModalContainerIfNeeded):
(WebCore::ModalContainerObserver::shouldHide): Deleted.

Drive-by adjustment: make `shouldHide()` an inline method, and mark it `const`.

* page/ModalContainerObserver.h:
(WebCore::ModalContainerObserver::overrideSearchTermForTesting):

Add a testing-only method to override the search term used for modal container observation; if set, we ignore
the search term vended by the chrome client, and instead use this override.

(WebCore::ModalContainerObserver::shouldHide const):
* testing/Internals.cpp:
(WebCore::Internals::overrideModalContainerSearchTermForTesting):
* testing/Internals.h:

Add an `internals` hook to override the modal container search term.

* testing/Internals.idl:

Tools:

Add support for new API tests that exercise the modal container observation policy in webpage preferences, as
well as the UI delegate SPI method for deciding policies in detected modal containers.

* TestWebKitAPI/SourcesCocoa.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/modal-container.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:

Non-unified-source build fix (see below).

* TestWebKitAPI/Tests/WebKitCocoa/ModalContainerObservation.mm: Added.
(-[NSBundle swizzled_URLForResource:withExtension:]):
(TestWebKitAPI::ClassifierModelSwizzler::ClassifierModelSwizzler):
(TestWebKitAPI::ClassifierModelSwizzler::~ClassifierModelSwizzler):
(-[ModalContainerWebView initWithFrame:configuration:]):
(-[ModalContainerWebView loadBundlePage:andDecidePolicy:]):
(-[ModalContainerWebView _webView:decidePolicyForModalContainer:decisionHandler:]):
(TestWebKitAPI::createModalContainerWebView):
(TestWebKitAPI::TEST):

Add API tests to exercise each of the 4 modal container policy decisions in a simple modal container. Two key
pieces are needed in order to simulate the end-to-end flow for detecting and deciding policies for modal
containers:

1.  Add `internals.overrideModalContainerSearchTermForTesting()`, which allows script (through the
`internals` testing plugin) to set ModalContainerObserver's search term.

2.  Swizzle out `-[NSBundle URLForResource:withExtension:]` to return the file URL to TestWebKitAPI's
`TestModalContainerControls.mlmodelc`, instead of the real CoreML model.

* TestWebKitAPI/Tests/WebKitCocoa/TestModalContainerControls.mlmodelc/analytics/coremldata.bin: Added.
* TestWebKitAPI/Tests/WebKitCocoa/TestModalContainerControls.mlmodelc/coremldata.bin: Copied from Source/WebCore/page/ModalContainerObserver.h.
* TestWebKitAPI/Tests/WebKitCocoa/TestModalContainerControls.mlmodelc/metadata.json: Added.

Add a mock CoreML model that's used to simulate classifier results in WebKit::ModalContainerControlClassifier.
See above for more details.

* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewThemeColor.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewUnderPageBackgroundColor.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebProcessTerminate.mm:

More non-unified-source build fixes: hoist the definitions of `redColorComponents` and `blueColorComponents`
into the `USE(CG)` part of TestCocoa.h, and then import TestCocoa.h in these files. This avoids build failures
due to symbol redefinition when we add the new test file above.

* TestWebKitAPI/cocoa/TestCocoa.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Document.h
trunk/Source/WebCore/page/ModalContainerObserver.cpp
trunk/Source/WebCore/page/ModalContainerObserver.h
trunk/Source/WebCore/testing/Internals.cpp
trunk/Source/WebCore/testing/Internals.h
trunk/Source/WebCore/testing/Internals.idl
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/SourcesCocoa.txt
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewThemeColor.mm
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewUnderPageBackgroundColor.mm
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebProcessTerminate.mm
trunk/Tools/TestWebKitAPI/cocoa/TestCocoa.h


Added Paths

trunk/Tools/TestWebKitAPI/Tests/WebKit/modal-container.html
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ModalContainerObservation.mm

[webkit-changes] [287403] trunk/LayoutTests

2021-12-23 Thread ntim
Title: [287403] trunk/LayoutTests








Revision 287403
Author n...@apple.com
Date 2021-12-23 09:55:01 -0800 (Thu, 23 Dec 2021)


Log Message
Rebaseline getComputedStyle tests for iOS after r287356

Unreviewed test gardening.

Also combine results for ios-wk2 and ios, since they are the same, except ios is stale.

* platform/ios-wk2/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/ios-wk2/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
* platform/ios-wk2/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/ios/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/ios/svg/css/getComputedStyle-basic-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-expected.txt
trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
trunk/LayoutTests/platform/ios/svg/css/getComputedStyle-basic-expected.txt


Removed Paths

trunk/LayoutTests/platform/ios-wk2/fast/css/getComputedStyle/
trunk/LayoutTests/platform/ios-wk2/svg/css/




Diff

Modified: trunk/LayoutTests/ChangeLog (287402 => 287403)

--- trunk/LayoutTests/ChangeLog	2021-12-23 17:31:27 UTC (rev 287402)
+++ trunk/LayoutTests/ChangeLog	2021-12-23 17:55:01 UTC (rev 287403)
@@ -1,3 +1,18 @@
+2021-12-23  Tim Nguyen  
+
+Rebaseline getComputedStyle tests for iOS after r287356
+
+Unreviewed test gardening.
+
+Also combine results for ios-wk2 and ios, since they are the same, except ios is stale.
+
+* platform/ios-wk2/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
+* platform/ios-wk2/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
+* platform/ios-wk2/svg/css/getComputedStyle-basic-expected.txt: Removed.
+* platform/ios/fast/css/getComputedStyle/computed-style-expected.txt:
+* platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
+* platform/ios/svg/css/getComputedStyle-basic-expected.txt:
+
 2021-12-22  Simon Fraser  
 
 Share macOS code between ScrollAnimator::handleWheelEvent() and ScrollingEffectsController::handleWheelEvent()


Modified: trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-expected.txt (287402 => 287403)

--- trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-expected.txt	2021-12-23 17:31:27 UTC (rev 287402)
+++ trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-expected.txt	2021-12-23 17:55:01 UTC (rev 287403)
@@ -118,7 +118,10 @@
 marker-end: none;
 marker-mid: none;
 marker-start: none;
-mask: none;
+mask-image: none;
+mask-origin: border-box;
+mask-repeat: repeat;
+mask-size: auto;
 mask-type: luminance;
 max-height: none;
 max-width: none;
@@ -239,17 +242,10 @@
 -webkit-mask-box-image-width: auto;
 -webkit-mask-clip: border-box;
 -webkit-mask-composite: source-over;
--webkit-mask-image: none;
--webkit-mask-origin: border-box;
--webkit-mask-repeat: repeat;
--webkit-mask-size: auto;
 -webkit-nbsp-mode: normal;
 -webkit-print-color-adjust: economy;
 -webkit-rtl-ordering: logical;
 -webkit-text-combine: none;
--webkit-text-emphasis-color: rgb(0, 0, 0);
--webkit-text-emphasis-position: over right;
--webkit-text-emphasis-style: none;
 -webkit-text-fill-color: rgb(0, 0, 0);
 -webkit-text-orientation: mixed;
 -webkit-text-security: none;


Modified: trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt (287402 => 287403)

--- trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt	2021-12-23 17:31:27 UTC (rev 287402)
+++ trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt	2021-12-23 17:55:01 UTC (rev 287403)
@@ -117,7 +117,10 @@
 marker-end: none
 marker-mid: none
 marker-start: none
-mask: none
+mask-image: none
+mask-origin: border-box
+mask-repeat: repeat
+mask-size: auto
 mask-type: luminance
 max-height: none
 max-width: none
@@ -238,17 +241,10 @@
 -webkit-mask-box-image-width: auto
 -webkit-mask-clip: border-box
 -webkit-mask-composite: source-over
--webkit-mask-image: none
--webkit-mask-origin: border-box
--webkit-mask-repeat: repeat
--webkit-mask-size: auto
 -webkit-nbsp-mode: normal
 -webkit-print-color-adjust: economy
 -webkit-rtl-ordering: logical
 -webkit-text-combine: none
--webkit-text-emphasis-color: rgb(0, 0, 0)
--webkit-text-emphasis-position: over right
--webkit-text-emphasis-style: none
 -webkit-text-fill-color: rgb(0, 0, 0)
 -webkit-text-orientation: mixed
 -webkit-text-security: none


Modified: trunk/LayoutTests/platform/ios/svg/css/getComputedStyle-basic-expected.txt (287402 => 287403)

--- trunk/LayoutTests/platform/ios/svg/css/getComputedStyle-basic-expected.txt	2021-12-23 

[webkit-changes] [287402] tags/Safari-613.1.12.2/

2021-12-23 Thread alancoon
Title: [287402] tags/Safari-613.1.12.2/








Revision 287402
Author alanc...@apple.com
Date 2021-12-23 09:31:27 -0800 (Thu, 23 Dec 2021)


Log Message
Tag Safari-613.1.12.2.

Added Paths

tags/Safari-613.1.12.2/




Diff




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


[webkit-changes] [287401] branches/safari-613.1.12-branch/Source

2021-12-23 Thread alancoon
Title: [287401] branches/safari-613.1.12-branch/Source








Revision 287401
Author alanc...@apple.com
Date 2021-12-23 09:29:40 -0800 (Thu, 23 Dec 2021)


Log Message
Cherry-pick r287382. rdar://problem/86855207

Fix WebKit Build issues when using system content path
https://bugs.webkit.org/show_bug.cgi?id=234624

Reviewed by Filip Pizlo.

Source/ThirdParty/ANGLE:

Changed INSTALL_PATH on macOS builds to use a fully qualified .../WebCore.framework/Versions/A/Frameworks.
Deleted unused create-symlink-to-altroot.sh script.

* Configurations/ANGLE-dynamic.xcconfig:
* scripts/create-symlink-to-altroot.sh: Removed.

Source/ThirdParty/libwebrtc:

Changed INSTALL_PATH on macOS builds to use fully qualified .../WebCore.framework/Versions/A/Frameworks.

* Configurations/libwebrtc.xcconfig:

Source/WebCore:

Covered by existing tests.

Added SYSTEM_CONTENT_PATH processing to WebCore's normal location.

* Configurations/WebCore.xcconfig:

Source/WebKit:

Added SYSTEM_CONTENT_PATH processing to the nested frameworks path (UMBRELLA_FRAMEWORKS_DIR).

* Configurations/BaseTarget.xcconfig:
* Configurations/WebKit.xcconfig:

Source/WebKitLegacy/mac:

Added SYSTEM_CONTENT_PATH processing to NORMAL_PRODUCTION_FRAMEWORKS_DIR.

* Configurations/WebKitLegacy.xcconfig:

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

Modified Paths

branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/ChangeLog
branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig
branches/safari-613.1.12-branch/Source/ThirdParty/libwebrtc/ChangeLog
branches/safari-613.1.12-branch/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig
branches/safari-613.1.12-branch/Source/WebCore/ChangeLog
branches/safari-613.1.12-branch/Source/WebCore/Configurations/WebCore.xcconfig
branches/safari-613.1.12-branch/Source/WebKit/ChangeLog
branches/safari-613.1.12-branch/Source/WebKit/Configurations/BaseTarget.xcconfig
branches/safari-613.1.12-branch/Source/WebKit/Configurations/WebKit.xcconfig
branches/safari-613.1.12-branch/Source/WebKitLegacy/mac/ChangeLog
branches/safari-613.1.12-branch/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig


Removed Paths

branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/scripts/create-symlink-to-altroot.sh




Diff

Modified: branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/ChangeLog (287400 => 287401)

--- branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/ChangeLog	2021-12-23 17:29:35 UTC (rev 287400)
+++ branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/ChangeLog	2021-12-23 17:29:40 UTC (rev 287401)
@@ -1,5 +1,65 @@
 2021-12-23  Alan Coon  
 
+Cherry-pick r287382. rdar://problem/86855207
+
+Fix WebKit Build issues when using system content path
+https://bugs.webkit.org/show_bug.cgi?id=234624
+
+Reviewed by Filip Pizlo.
+
+Source/ThirdParty/ANGLE:
+
+Changed INSTALL_PATH on macOS builds to use a fully qualified .../WebCore.framework/Versions/A/Frameworks.
+Deleted unused create-symlink-to-altroot.sh script.
+
+* Configurations/ANGLE-dynamic.xcconfig:
+* scripts/create-symlink-to-altroot.sh: Removed.
+
+Source/ThirdParty/libwebrtc:
+
+Changed INSTALL_PATH on macOS builds to use fully qualified .../WebCore.framework/Versions/A/Frameworks.
+
+* Configurations/libwebrtc.xcconfig:
+
+Source/WebCore:
+
+Covered by existing tests.
+
+Added SYSTEM_CONTENT_PATH processing to WebCore's normal location.
+
+* Configurations/WebCore.xcconfig:
+
+Source/WebKit:
+
+Added SYSTEM_CONTENT_PATH processing to the nested frameworks path (UMBRELLA_FRAMEWORKS_DIR).
+
+* Configurations/BaseTarget.xcconfig:
+* Configurations/WebKit.xcconfig:
+
+Source/WebKitLegacy/mac:
+
+Added SYSTEM_CONTENT_PATH processing to NORMAL_PRODUCTION_FRAMEWORKS_DIR.
+
+* Configurations/WebKitLegacy.xcconfig:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-22  Michael Saboff  
+
+Fix WebKit Build issues when using system content path
+https://bugs.webkit.org/show_bug.cgi?id=234624
+
+Reviewed by Filip Pizlo.
+
+Changed INSTALL_PATH on macOS builds to use a fully qualified .../WebCore.framework/Versions/A/Frameworks.
+Deleted unused create-symlink-to-altroot.sh script.
+
+* Configurations/ANGLE-dynamic.xcconfig:
+* scripts/create-symlink-to-altroot.sh: Removed.
+
+2021-12-23  Alan Coon  
+
 Cherry-pick r287326. rdar://problem/86855216
 
 Fix symlinks for alternate root framework locations


Modified: branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig (287400 => 287401)

--- 

[webkit-changes] [287399] branches/safari-613.1.12-branch/Source

2021-12-23 Thread alancoon
Title: [287399] branches/safari-613.1.12-branch/Source








Revision 287399
Author alanc...@apple.com
Date 2021-12-23 09:29:31 -0800 (Thu, 23 Dec 2021)


Log Message
Cherry-pick r287326. rdar://problem/86855216

Fix symlinks for alternate root framework locations
https://bugs.webkit.org/show_bug.cgi?id=234567

Reviewed by Filip Pizlo.

Source/ThirdParty/ANGLE:

Eliminated the creation of symlinks for ANGLE as it is under WebCore.

* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE-dynamic.xcconfig:

Source/WebCore:

Covered by existing tests.

Moved OUTPUT_ALTERNATE_ROOT_PATH in create symlink script from outputFileListPaths to outputPaths.

* WebCore.xcodeproj/project.pbxproj:

Source/WebGPU:

Moved OUTPUT_ALTERNATE_ROOT_PATH in create symlink script from outputFileListPaths to outputPaths.

* WebGPU.xcodeproj/project.pbxproj:

Source/WebInspectorUI:

Moved OUTPUT_ALTERNATE_ROOT_PATH in create symlink script from outputFileListPaths to outputPaths.

* WebInspectorUI.xcodeproj/project.pbxproj:

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

Modified Paths

branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj
branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/ChangeLog
branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig
branches/safari-613.1.12-branch/Source/WebCore/ChangeLog
branches/safari-613.1.12-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj
branches/safari-613.1.12-branch/Source/WebGPU/ChangeLog
branches/safari-613.1.12-branch/Source/WebGPU/WebGPU.xcodeproj/project.pbxproj
branches/safari-613.1.12-branch/Source/WebInspectorUI/ChangeLog
branches/safari-613.1.12-branch/Source/WebInspectorUI/WebInspectorUI.xcodeproj/project.pbxproj




Diff

Modified: branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj (287398 => 287399)

--- branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj	2021-12-23 17:23:20 UTC (rev 287398)
+++ branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj	2021-12-23 17:29:31 UTC (rev 287399)
@@ -3497,7 +3497,6 @@
 31CD00CE2491974C00486F27 /* CopyFiles */,
 31CD00CF2491976800486F27 /* CopyFiles */,
 31CD00D2249197FD00486F27 /* Adjust ANGLE Paths */,
-6577FFC5276AC8630011AEC8 /* Create Symlink to Alt Root Path */,
 			);
 			buildRules = (
 31A9E9A0249AA04200C7E243 /* PBXBuildRule */,
@@ -3586,25 +3585,6 @@
 			shellPath = /bin/sh;
 			shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${WK_USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n# In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\nexit 0\nfi\n\nexec \"$SRCROOT/adjust-angle-include-paths.py\"\n";
 		};
-		6577FFC5276AC8630011AEC8 /* Create Symlink to Alt Root Path */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 8;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = "Create Symlink to Alt Root Path";
-			outputFileListPaths = (
-			);
-			outputPaths = (
-"${OUTPUT_ALTERNATE_ROOT_PATH}",
-			);
-			runOnlyForDeploymentPostprocessing = 1;
-			shellPath = /bin/zsh;
-			shellScript = "\"${SRCROOT}/scripts/create-symlink-to-altroot.sh\"\n";
-		};
 		FFDA50D5269F895400AE11E2 /* Bake Metal Library to NSData */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;


Modified: branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/ChangeLog (287398 => 287399)

--- branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/ChangeLog	2021-12-23 17:23:20 UTC (rev 287398)
+++ branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/ChangeLog	2021-12-23 17:29:31 UTC (rev 287399)
@@ -1,3 +1,54 @@
+2021-12-23  Alan Coon  
+
+Cherry-pick r287326. rdar://problem/86855216
+
+Fix symlinks for alternate root framework locations
+https://bugs.webkit.org/show_bug.cgi?id=234567
+
+Reviewed by Filip Pizlo.
+
+Source/ThirdParty/ANGLE:
+
+Eliminated the creation of symlinks for ANGLE as it is under WebCore.
+
+* ANGLE.xcodeproj/project.pbxproj:
+* Configurations/ANGLE-dynamic.xcconfig:
+
+Source/WebCore:
+
+Covered by existing tests.
+
+Moved OUTPUT_ALTERNATE_ROOT_PATH in create symlink script from outputFileListPaths to outputPaths.
+
+* WebCore.xcodeproj/project.pbxproj:
+
+Source/WebGPU:
+
+Moved OUTPUT_ALTERNATE_ROOT_PATH in create symlink script from outputFileListPaths to outputPaths.
+
+* WebGPU.xcodeproj/project.pbxproj:
+
+Source/WebInspectorUI:
+
+Moved OUTPUT_ALTERNATE_ROOT_PATH in create symlink script from outputFileListPaths to outputPaths.
+
+* 

[webkit-changes] [287400] branches/safari-613.1.12-branch/Source/WebCore

2021-12-23 Thread alancoon
Title: [287400] branches/safari-613.1.12-branch/Source/WebCore








Revision 287400
Author alanc...@apple.com
Date 2021-12-23 09:29:35 -0800 (Thu, 23 Dec 2021)


Log Message
Cherry-pick r287361. rdar://problem/86855206

Fix WebCore install headers with alternate build
https://bugs.webkit.org/show_bug.cgi?id=234592

Reviewed by Filip Pizlo.

Covered by existing tests.

Fixed OUTPUT_ALTERNATE_ROOT_PATH for macOS to return an empty value since we don't need a symlink
as the WebCore framework is in a subdirectory of WebKit.framework.
Fixed typos with NORMAL_PRODUCTION_FRAMEWORKS_DIR_USE_SYSTEM_CONTENT_PATH_YES rules,
eliminating the ')'s at the end of the lines.

* Configurations/WebCore.xcconfig:

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

Modified Paths

branches/safari-613.1.12-branch/Source/WebCore/ChangeLog
branches/safari-613.1.12-branch/Source/WebCore/Configurations/WebCore.xcconfig




Diff

Modified: branches/safari-613.1.12-branch/Source/WebCore/ChangeLog (287399 => 287400)

--- branches/safari-613.1.12-branch/Source/WebCore/ChangeLog	2021-12-23 17:29:31 UTC (rev 287399)
+++ branches/safari-613.1.12-branch/Source/WebCore/ChangeLog	2021-12-23 17:29:35 UTC (rev 287400)
@@ -1,5 +1,42 @@
 2021-12-23  Alan Coon  
 
+Cherry-pick r287361. rdar://problem/86855206
+
+Fix WebCore install headers with alternate build
+https://bugs.webkit.org/show_bug.cgi?id=234592
+
+Reviewed by Filip Pizlo.
+
+Covered by existing tests.
+
+Fixed OUTPUT_ALTERNATE_ROOT_PATH for macOS to return an empty value since we don't need a symlink
+as the WebCore framework is in a subdirectory of WebKit.framework.
+Fixed typos with NORMAL_PRODUCTION_FRAMEWORKS_DIR_USE_SYSTEM_CONTENT_PATH_YES rules,
+eliminating the ')'s at the end of the lines.
+
+* Configurations/WebCore.xcconfig:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-22  Michael Saboff  
+
+Fix WebCore install headers with alternate build
+https://bugs.webkit.org/show_bug.cgi?id=234592
+
+Reviewed by Filip Pizlo.
+
+Covered by existing tests.
+
+Fixed OUTPUT_ALTERNATE_ROOT_PATH for macOS to return an empty value since we don't need a symlink
+as the WebCore framework is in a subdirectory of WebKit.framework.
+Fixed typos with NORMAL_PRODUCTION_FRAMEWORKS_DIR_USE_SYSTEM_CONTENT_PATH_YES rules,
+eliminating the ')'s at the end of the lines.
+
+* Configurations/WebCore.xcconfig:
+
+2021-12-23  Alan Coon  
+
 Cherry-pick r287326. rdar://problem/86855216
 
 Fix symlinks for alternate root framework locations


Modified: branches/safari-613.1.12-branch/Source/WebCore/Configurations/WebCore.xcconfig (287399 => 287400)

--- branches/safari-613.1.12-branch/Source/WebCore/Configurations/WebCore.xcconfig	2021-12-23 17:29:31 UTC (rev 287399)
+++ branches/safari-613.1.12-branch/Source/WebCore/Configurations/WebCore.xcconfig	2021-12-23 17:29:35 UTC (rev 287400)
@@ -75,10 +75,11 @@
 ALTERNATE_ROOT_PATH[sdk=macosx*] = $(DYLIB_INSTALL_NAME_BASE_PLATFORM_$(WK_USE_ALTERNATE_FRAMEWORKS_DIR));
 
 OUTPUT_ALTERNATE_ROOT_PATH[sdk=iphone*] = $(OUTPUT_ALTERNATE_ROOT_PATH_$(USE_SYSTEM_CONTENT_PATH));
-OUTPUT_ALTERNATE_ROOT_PATH[sdk=macosx*] = $(OUTPUT_ALTERNATE_ROOT_PATH_$(USE_SYSTEM_CONTENT_PATH));
 OUTPUT_ALTERNATE_ROOT_PATH_YES[sdk=iphone*] = $(DSTROOT)$(ALTERNATE_ROOT_PATH)/$(FULL_PRODUCT_NAME);
-OUTPUT_ALTERNATE_ROOT_PATH_YES[sdk=macosx*] = $(DSTROOT)$(ALTERNATE_ROOT_PATH)/$(FULL_PRODUCT_NAME);
 
+OUTPUT_ALTERNATE_ROOT_PATH[sdk=macosx*] = $(OUTPUT_ALTERNATE_ROOT_PATH_$(USE_SYSTEM_CONTENT_PATH)_$(WK_USE_ALTERNATE_FRAMEWORKS_DIR));
+OUTPUT_ALTERNATE_ROOT_PATH_YES_YES[sdk=macosx*] = $(DSTROOT)$(ALTERNATE_ROOT_PATH)/$(FULL_PRODUCT_NAME);
+
 WK_ANGLE_LDFLAGS = -weak-lANGLE-shared;
 
 WK_WEBGPU_LDFLAGS = ; // To be filled-in after Apple update its internal build system.
@@ -157,8 +158,8 @@
 WEBCORE_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
 
 NORMAL_PRODUCTION_FRAMEWORKS_DIR = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR_USE_SYSTEM_CONTENT_PATH_$(USE_SYSTEM_CONTENT_PATH));
-NORMAL_PRODUCTION_FRAMEWORKS_DIR_USE_SYSTEM_CONTENT_PATH_YES[sdk=iphone*] = $(SYSTEM_CONTENT_PATH)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks);
-NORMAL_PRODUCTION_FRAMEWORKS_DIR_USE_SYSTEM_CONTENT_PATH_YES[sdk=macosx*] = $(SYSTEM_CONTENT_PATH)$(SYSTEM_LIBRARY_DIR)/Frameworks);
+NORMAL_PRODUCTION_FRAMEWORKS_DIR_USE_SYSTEM_CONTENT_PATH_YES[sdk=iphone*] = $(SYSTEM_CONTENT_PATH)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
+NORMAL_PRODUCTION_FRAMEWORKS_DIR_USE_SYSTEM_CONTENT_PATH_YES[sdk=macosx*] = $(SYSTEM_CONTENT_PATH)$(SYSTEM_LIBRARY_DIR)/Frameworks;
 NORMAL_PRODUCTION_FRAMEWORKS_DIR_USE_SYSTEM_CONTENT_PATH_ = 

[webkit-changes] [287398] branches/safari-613.1.12-branch/Source

2021-12-23 Thread alancoon
Title: [287398] branches/safari-613.1.12-branch/Source








Revision 287398
Author alanc...@apple.com
Date 2021-12-23 09:23:20 -0800 (Thu, 23 Dec 2021)


Log Message
Versioning.

WebKit-7613.1.12.2

Modified Paths

branches/safari-613.1.12-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
branches/safari-613.1.12-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
branches/safari-613.1.12-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-613.1.12-branch/Source/WebCore/PAL/Configurations/Version.xcconfig
branches/safari-613.1.12-branch/Source/WebGPU/Configurations/Version.xcconfig
branches/safari-613.1.12-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-613.1.12-branch/Source/WebKit/Configurations/Version.xcconfig
branches/safari-613.1.12-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig




Diff

Modified: branches/safari-613.1.12-branch/Source/_javascript_Core/Configurations/Version.xcconfig (287397 => 287398)

--- branches/safari-613.1.12-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-23 17:19:48 UTC (rev 287397)
+++ branches/safari-613.1.12-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-23 17:23:20 UTC (rev 287398)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
 TINY_VERSION = 12;
-MICRO_VERSION = 1;
+MICRO_VERSION = 2;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 


Modified: branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (287397 => 287398)

--- branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-23 17:19:48 UTC (rev 287397)
+++ branches/safari-613.1.12-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-23 17:23:20 UTC (rev 287398)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
 TINY_VERSION = 12;
-MICRO_VERSION = 1;
+MICRO_VERSION = 2;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 


Modified: branches/safari-613.1.12-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (287397 => 287398)

--- branches/safari-613.1.12-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-23 17:19:48 UTC (rev 287397)
+++ branches/safari-613.1.12-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-23 17:23:20 UTC (rev 287398)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
 TINY_VERSION = 12;
-MICRO_VERSION = 1;
+MICRO_VERSION = 2;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 


Modified: branches/safari-613.1.12-branch/Source/WebCore/Configurations/Version.xcconfig (287397 => 287398)

--- branches/safari-613.1.12-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-23 17:19:48 UTC (rev 287397)
+++ branches/safari-613.1.12-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-23 17:23:20 UTC (rev 287398)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
 TINY_VERSION = 12;
-MICRO_VERSION = 1;
+MICRO_VERSION = 2;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 


Modified: branches/safari-613.1.12-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (287397 => 287398)

--- branches/safari-613.1.12-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-23 17:19:48 UTC (rev 287397)
+++ branches/safari-613.1.12-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-23 17:23:20 UTC (rev 287398)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
 TINY_VERSION = 12;
-MICRO_VERSION = 1;
+MICRO_VERSION = 2;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 


Modified: branches/safari-613.1.12-branch/Source/WebGPU/Configurations/Version.xcconfig (287397 => 287398)

--- branches/safari-613.1.12-branch/Source/WebGPU/Configurations/Version.xcconfig	2021-12-23 17:19:48 UTC (rev 287397)
+++ branches/safari-613.1.12-branch/Source/WebGPU/Configurations/Version.xcconfig	2021-12-23 17:23:20 UTC (rev 287398)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
 TINY_VERSION = 12;
-MICRO_VERSION = 1;
+MICRO_VERSION = 2;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 


Modified: branches/safari-613.1.12-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (287397 => 287398)

--- branches/safari-613.1.12-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-12-23 17:19:48 UTC (rev 287397)
+++ branches/safari-613.1.12-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-12-23 17:23:20 UTC (rev 287398)
@@ -1,7 +1,7 @@
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
 TINY_VERSION = 12;

[webkit-changes] [287397] trunk

2021-12-23 Thread simon . fraser
Title: [287397] trunk








Revision 287397
Author simon.fra...@apple.com
Date 2021-12-23 09:19:48 -0800 (Thu, 23 Dec 2021)


Log Message
Share macOS code between ScrollAnimator::handleWheelEvent() and ScrollingEffectsController::handleWheelEvent()
https://bugs.webkit.org/show_bug.cgi?id=231238

Reviewed by Wenson Hsieh.

Source/WebCore:

ScrollAnimator::handleWheelEvent() had some macOS-only code (despite having a
ScrollAnimatorMac subclass) whose purpose was unclear. It turns out the code runs in two
scenarios: for select lists, which always scroll on the main thread, and in some main thread
scrolling cases when responding to non-gesture events (i.e. those from old-style clicky
scroll wheels).

Clean this by making that code clearly specific to "stepped scrolling", via the
virtual ScrollableArea::hasSteppedScrolling(). Call it in cross-platform code in
ScrollAnimator::handleWheelEvent().

The ScrollAnimatorMac::handleWheelEvent() override now simply calls into the base class,
after doing some macOS-specific stuff for phase handling (which is related to scrollbar flashing).

rubberBandingEnabledForSystem() is no longer consulted; this never worked for threaded scrolling.
If we need it, we can bring it back. We no longer need the shouldForwardWheelEventsToParent()
and its misleading comment.

Now that stateless wheel events go through ScrollingEffectsController::handleWheelEvent(),
we have to avoid doing axis snapping for them.

css3/scroll-snap/scroll-snap-wheel-event.html reveals a behavior progression: previously
stateless, main thread scroll snap scrolls would use the code now in
handleSteppedScrolling() and a single small delta would pick the snap point in that
direction. This differed from scrolling thread scrolls, where stateless scrolls animate to
the nearest snap pointer after a timer fire. Now, this same behavior applies to main thread
stateless scrolls.

* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::isGestureEvent const):
(WebCore::PlatformWheelEvent::isNonGestureEvent const):
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::handleWheelEvent):
(WebCore::ScrollAnimator::handleSteppedScrolling):
* platform/ScrollAnimator.h:
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::hasSteppedScrolling const):
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::handleWheelEvent):
(WebCore::rubberBandingEnabledForSystem): Deleted.
(WebCore::ScrollAnimatorMac::shouldForwardWheelEventsToParent const): Deleted.
* platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::handleWheelEvent):
* rendering/RenderListBox.h:

LayoutTests:

* css3/scroll-snap/scroll-snap-wheel-event.html: We need to scroll 3 clicks to get closer to the target snap point.
* platform/mac-wk1/fast/scrolling/latching/latching-and-wheel-events-expected.txt: Rebase already-failing
result (because ScrollingEffectsController::handleWheelEvent() doesn't scroll on the "begin" event).
* platform/mac-wk1/fast/scrolling/latching/overflow-in-iframe-latching-expected.txt: Ditto.
* platform/mac-wk1/fast/scrolling/latching/scroll-snap-latching-expected.txt: Ditto.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/css3/scroll-snap/scroll-snap-wheel-event.html
trunk/LayoutTests/platform/mac-wk1/fast/scrolling/latching/latching-and-wheel-events-expected.txt
trunk/LayoutTests/platform/mac-wk1/fast/scrolling/latching/overflow-in-iframe-latching-expected.txt
trunk/LayoutTests/platform/mac-wk1/fast/scrolling/latching/scroll-snap-latching-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/PlatformWheelEvent.h
trunk/Source/WebCore/platform/ScrollAnimator.cpp
trunk/Source/WebCore/platform/ScrollAnimator.h
trunk/Source/WebCore/platform/ScrollableArea.h
trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.h
trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm
trunk/Source/WebCore/platform/mac/ScrollingEffectsController.mm
trunk/Source/WebCore/rendering/RenderListBox.h




Diff

Modified: trunk/LayoutTests/ChangeLog (287396 => 287397)

--- trunk/LayoutTests/ChangeLog	2021-12-23 16:53:42 UTC (rev 287396)
+++ trunk/LayoutTests/ChangeLog	2021-12-23 17:19:48 UTC (rev 287397)
@@ -1,3 +1,16 @@
+2021-12-22  Simon Fraser  
+
+Share macOS code between ScrollAnimator::handleWheelEvent() and ScrollingEffectsController::handleWheelEvent()
+https://bugs.webkit.org/show_bug.cgi?id=231238
+
+Reviewed by Wenson Hsieh.
+
+* css3/scroll-snap/scroll-snap-wheel-event.html: We need to scroll 3 clicks to get closer to the target snap point.
+* platform/mac-wk1/fast/scrolling/latching/latching-and-wheel-events-expected.txt: Rebase already-failing
+result (because ScrollingEffectsController::handleWheelEvent() doesn't scroll on the "begin" event).
+* platform/mac-wk1/fast/scrolling/latching/overflow-in-iframe-latching-expected.txt: Ditto.
+* 

[webkit-changes] [287396] trunk/Tools

2021-12-23 Thread pgriffis
Title: [287396] trunk/Tools








Revision 287396
Author pgrif...@igalia.com
Date 2021-12-23 08:53:42 -0800 (Thu, 23 Dec 2021)


Log Message
[Flatpak] Fix a11y tests on some distros including Fedora
https://bugs.webkit.org/show_bug.cgi?id=234612

Reviewed by Michael Catanzaro.

Using --no-a11y-bus fixes a11y working in Fedora, as well
as just being the intended behavior it always had since we
granted direct org.a11y.Bus access.

* flatpak/flatpakutils.py:
(WebkitFlatpak):
(WebkitFlatpak.run_in_sandbox):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/flatpak/flatpakutils.py




Diff

Modified: trunk/Tools/ChangeLog (287395 => 287396)

--- trunk/Tools/ChangeLog	2021-12-23 15:07:24 UTC (rev 287395)
+++ trunk/Tools/ChangeLog	2021-12-23 16:53:42 UTC (rev 287396)
@@ -1,3 +1,18 @@
+2021-12-23  Patrick Griffis  
+
+[Flatpak] Fix a11y tests on some distros including Fedora
+https://bugs.webkit.org/show_bug.cgi?id=234612
+
+Reviewed by Michael Catanzaro.
+
+Using --no-a11y-bus fixes a11y working in Fedora, as well
+as just being the intended behavior it always had since we
+granted direct org.a11y.Bus access.
+
+* flatpak/flatpakutils.py:
+(WebkitFlatpak):
+(WebkitFlatpak.run_in_sandbox):
+
 2021-12-23  Carlos Garcia Campos  
 
 [GTK][a11y] WTR: handle heading level as special case in intValue with ATSPI


Modified: trunk/Tools/flatpak/flatpakutils.py (287395 => 287396)

--- trunk/Tools/flatpak/flatpakutils.py	2021-12-23 15:07:24 UTC (rev 287395)
+++ trunk/Tools/flatpak/flatpakutils.py	2021-12-23 16:53:42 UTC (rev 287396)
@@ -705,6 +705,10 @@
 # For now this supports only files in the WebKit path
 return host_path.replace(self.source_root, self.sandbox_source_root)
 
+@staticmethod
+def get_user_runtime_dir():
+return os.environ.get('XDG_RUNTIME_DIR', os.path.join('/run/user', str(os.getuid(
+
 def run_in_sandbox(self, *args, **kwargs):
 if not self.setup_builddir():
 return 1
@@ -757,7 +761,12 @@
"--die-with-parent",
"--filesystem=host",
"--allow=devel",
+   # FIXME: --session-bus is only a workaround for https://github.com/flatpak/flatpak/pull/4630
+   "--session-bus",
+   "--no-a11y-bus",
"--talk-name=org.a11y.Bus",
+   # at-spi creates directories like `$XDG_RUNTIME_DIR/at-spi2-E6A5E1` on the host
+   "--filesystem=" + self.get_user_runtime_dir(),
"--talk-name=org.gtk.vfs",
"--talk-name=org.gtk.vfs.*"]
 






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


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

2021-12-23 Thread zalan
Title: [287395] trunk/Source/WebCore








Revision 287395
Author za...@apple.com
Date 2021-12-23 07:07:24 -0800 (Thu, 23 Dec 2021)


Log Message
[LFC][IFC] Do not try to bidi reorder empty content
https://bugs.webkit.org/show_bug.cgi?id=234623

Reviewed by Antti Koivisto.

* layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::buildBidiParagraph):
(WebCore::Layout::InlineItemsBuilder::breakAndComputeBidiLevels):
* layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp
trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (287394 => 287395)

--- trunk/Source/WebCore/ChangeLog	2021-12-23 14:42:49 UTC (rev 287394)
+++ trunk/Source/WebCore/ChangeLog	2021-12-23 15:07:24 UTC (rev 287395)
@@ -1,5 +1,18 @@
 2021-12-23  Alan Bujtas  
 
+[LFC][IFC] Do not try to bidi reorder empty content
+https://bugs.webkit.org/show_bug.cgi?id=234623
+
+Reviewed by Antti Koivisto.
+
+* layout/formattingContexts/inline/InlineItemsBuilder.cpp:
+(WebCore::Layout::buildBidiParagraph):
+(WebCore::Layout::InlineItemsBuilder::breakAndComputeBidiLevels):
+* layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
+(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):
+
+2021-12-23  Alan Bujtas  
+
 [LFC][IFC] Empty bidi inline boxes should not make the line taller
 https://bugs.webkit.org/show_bug.cgi?id=234621
 


Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp (287394 => 287395)

--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp	2021-12-23 14:42:49 UTC (rev 287394)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp	2021-12-23 15:07:24 UTC (rev 287395)
@@ -238,8 +238,7 @@
 } else if (inlineItem.isBox()) {
 inlineItemOffsetList.uncheckedAppend({ paragraphContentBuilder.length() });
 paragraphContentBuilder.append(objectReplacementCharacter);
-}
-else if (inlineItem.isInlineBoxStart() || inlineItem.isInlineBoxEnd()) {
+} else if (inlineItem.isInlineBoxStart() || inlineItem.isInlineBoxEnd()) {
 // https://drafts.csswg.org/css-writing-modes/#unicode-bidi
 auto& style = inlineItem.style();
 auto initiatesControlCharacter = style.rtlOrdering() == Order::Logical && style.unicodeBidi() != EUnicodeBidi::UBNormal;
@@ -290,6 +289,12 @@
 InlineItemOffsetList inlineItemOffsets;
 inlineItemOffsets.reserveInitialCapacity(inlineItems.size());
 buildBidiParagraph(root().style(), inlineItems, paragraphContentBuilder, inlineItemOffsets);
+if (paragraphContentBuilder.isEmpty()) {
+// Style may trigger visual reordering even on a completely empty content.
+// e.g. 
+// Let's not try to do bidi handling when there's no content to reorder.
+return;
+}
 ASSERT(inlineItemOffsets.size() == inlineItems.size());
 // 1. Setup the bidi boundary loop by calling ubidi_setPara with the paragraph text.
 // 2. Call ubidi_getLogicalRun to advance to the next bidi boundary until we hit the end of the content.


Modified: trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp (287394 => 287395)

--- trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp	2021-12-23 14:42:49 UTC (rev 287394)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp	2021-12-23 15:07:24 UTC (rev 287395)
@@ -319,7 +319,12 @@
 
 void InlineDisplayContentBuilder::processNonBidiContent(const LineBuilder::LineContent& lineContent, const LineBox& lineBox, const InlineDisplay::Line& displayLine, DisplayBoxes& boxes)
 {
-ASSERT(root().style().isLeftToRightDirection());
+#ifndef NDEBUG
+auto hasContent = false;
+for (auto& lineRun : lineContent.runs)
+hasContent = hasContent || lineRun.isText() || lineRun.isBox();
+ASSERT(root().style().isLeftToRightDirection() || !hasContent);
+#endif
 auto lineBoxRect = displayLine.lineBoxRect();
 auto contentStartInVisualOrder = lineBoxRect.left() + displayLine.contentLeft();
 






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


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

2021-12-23 Thread zalan
Title: [287394] trunk/Source/WebCore








Revision 287394
Author za...@apple.com
Date 2021-12-23 06:42:49 -0800 (Thu, 23 Dec 2021)


Log Message
[LFC][IFC] Empty bidi inline boxes should not make the line taller
https://bugs.webkit.org/show_bug.cgi?id=234621

Reviewed by Antti Koivisto.

We perform the same check for non-bidi inline boxes (also see FIXME).

* layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (287393 => 287394)

--- trunk/Source/WebCore/ChangeLog	2021-12-23 14:13:41 UTC (rev 287393)
+++ trunk/Source/WebCore/ChangeLog	2021-12-23 14:42:49 UTC (rev 287394)
@@ -1,5 +1,17 @@
 2021-12-23  Alan Bujtas  
 
+[LFC][IFC] Empty bidi inline boxes should not make the line taller
+https://bugs.webkit.org/show_bug.cgi?id=234621
+
+Reviewed by Antti Koivisto.
+
+We perform the same check for non-bidi inline boxes (also see FIXME).
+
+* layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
+(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
+
+2021-12-23  Alan Bujtas  
+
 [LFC][IFC] Add support for RTL scrollable overflow
 https://bugs.webkit.org/show_bug.cgi?id=234617
 


Modified: trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp (287393 => 287394)

--- trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp	2021-12-23 14:13:41 UTC (rev 287393)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp	2021-12-23 14:42:49 UTC (rev 287394)
@@ -596,8 +596,13 @@
 // some cases where the inline box has some content on the paragraph level (at bidi split) but line breaking renders it empty
 // or their content is completely collapsed.
 // Such inline boxes should also be handled here.
-appendInlineDisplayBoxAtBidiBoundary(layoutBox, boxes);
-createdDisplayBoxNodeForContainerBoxAndPushToAncestorStack(downcast(layoutBox), boxes.size() - 1, parentDisplayBoxNodeIndex, displayBoxTree, ancestorStack);
+if (lineBox.hasContent()) {
+appendInlineDisplayBoxAtBidiBoundary(layoutBox, boxes);
+createdDisplayBoxNodeForContainerBoxAndPushToAncestorStack(downcast(layoutBox), boxes.size() - 1, parentDisplayBoxNodeIndex, displayBoxTree, ancestorStack);
+} else {
+// FIXME: It's expected to not have any inline boxes on empty lines. They make the line taller. We should reconsider this.
+setInlineBoxGeometry(layoutBox, { { }, { } }, true);
+}
 continue;
 }
 ASSERT_NOT_REACHED();






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


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

2021-12-23 Thread zalan
Title: [287393] trunk/Source/WebCore








Revision 287393
Author za...@apple.com
Date 2021-12-23 06:13:41 -0800 (Thu, 23 Dec 2021)


Log Message
[LFC][IFC] Add support for RTL scrollable overflow
https://bugs.webkit.org/show_bug.cgi?id=234617

Reviewed by Antti Koivisto.

* layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
* platform/graphics/FloatRect.h:
(WebCore::FloatRect::shiftMaxXEdgeBy):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/integration/LayoutIntegrationInlineContentBuilder.cpp
trunk/Source/WebCore/platform/graphics/FloatRect.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (287392 => 287393)

--- trunk/Source/WebCore/ChangeLog	2021-12-23 08:57:46 UTC (rev 287392)
+++ trunk/Source/WebCore/ChangeLog	2021-12-23 14:13:41 UTC (rev 287393)
@@ -1,3 +1,15 @@
+2021-12-23  Alan Bujtas  
+
+[LFC][IFC] Add support for RTL scrollable overflow
+https://bugs.webkit.org/show_bug.cgi?id=234617
+
+Reviewed by Antti Koivisto.
+
+* layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
+(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
+* platform/graphics/FloatRect.h:
+(WebCore::FloatRect::shiftMaxXEdgeBy):
+
 2021-12-23  Carlos Garcia Campos  
 
 [GTK][a11y] Test accessibility/svg-remote-element.html crashes with ATSPI


Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationInlineContentBuilder.cpp (287392 => 287393)

--- trunk/Source/WebCore/layout/integration/LayoutIntegrationInlineContentBuilder.cpp	2021-12-23 08:57:46 UTC (rev 287392)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationInlineContentBuilder.cpp	2021-12-23 14:13:41 UTC (rev 287393)
@@ -79,8 +79,10 @@
 for (size_t lineIndex = 0; lineIndex < lines.size(); ++lineIndex) {
 auto& line = lines[lineIndex];
 auto scrollableOverflowRect = FloatRect { line.scrollableOverflow() };
-if (auto overflowWidth = lineOverflowWidth(m_blockFlow, line.contentWidth()); overflowWidth > scrollableOverflowRect.width())
-scrollableOverflowRect.setWidth(overflowWidth);
+if (auto overflowWidth = lineOverflowWidth(m_blockFlow, line.contentWidth()); overflowWidth > scrollableOverflowRect.width()) {
+auto overflowValue = overflowWidth - scrollableOverflowRect.width();
+m_blockFlow.style().isLeftToRightDirection() ? scrollableOverflowRect.shiftMaxXEdgeBy(overflowValue) : scrollableOverflowRect.shiftXEdgeBy(-overflowValue);
+}
 
 auto firstBoxIndex = boxIndex;
 auto lineInkOverflowRect = scrollableOverflowRect;


Modified: trunk/Source/WebCore/platform/graphics/FloatRect.h (287392 => 287393)

--- trunk/Source/WebCore/platform/graphics/FloatRect.h	2021-12-23 08:57:46 UTC (rev 287392)
+++ trunk/Source/WebCore/platform/graphics/FloatRect.h	2021-12-23 14:13:41 UTC (rev 287393)
@@ -150,6 +150,11 @@
 setWidth(std::max(0.0f, width() - delta));
 }
 
+void shiftMaxXEdgeBy(float delta)
+{
+shiftMaxXEdgeTo(maxX() + delta);
+}
+
 void shiftYEdgeBy(float delta)
 {
 move(0, delta);






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


[webkit-changes] [287392] trunk/Tools

2021-12-23 Thread carlosgc
Title: [287392] trunk/Tools








Revision 287392
Author carlo...@webkit.org
Date 2021-12-23 00:57:46 -0800 (Thu, 23 Dec 2021)


Log Message
[GTK][a11y] WTR: handle heading level as special case in intValue with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=234603

Reviewed by Adrian Perez de Castro.

Tests expect intValue to return the heading level.

* WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
(WTR::AccessibilityUIElement::intValue const):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp




Diff

Modified: trunk/Tools/ChangeLog (287391 => 287392)

--- trunk/Tools/ChangeLog	2021-12-23 08:57:03 UTC (rev 287391)
+++ trunk/Tools/ChangeLog	2021-12-23 08:57:46 UTC (rev 287392)
@@ -1,5 +1,17 @@
 2021-12-23  Carlos Garcia Campos  
 
+[GTK][a11y] WTR: handle heading level as special case in intValue with ATSPI
+https://bugs.webkit.org/show_bug.cgi?id=234603
+
+Reviewed by Adrian Perez de Castro.
+
+Tests expect intValue to return the heading level.
+
+* WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
+(WTR::AccessibilityUIElement::intValue const):
+
+2021-12-23  Carlos Garcia Campos  
+
 [GTK][a11y] WTR: handle missing cases in isAttributeSettable with ATSPI
 https://bugs.webkit.org/show_bug.cgi?id=234601
 


Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp (287391 => 287392)

--- trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp	2021-12-23 08:57:03 UTC (rev 287391)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp	2021-12-23 08:57:46 UTC (rev 287392)
@@ -867,15 +867,25 @@
 
 double AccessibilityUIElement::intValue() const
 {
-if (!m_element->interfaces().contains(WebCore::AccessibilityObjectAtspi::Interface::Value))
-return 0;
+if (m_element->interfaces().contains(WebCore::AccessibilityObjectAtspi::Interface::Value)) {
+double currentValue;
+s_controller->executeOnAXThreadAndWait([this, ] {
+m_element->updateBackingStore();
+currentValue = m_element->currentValue();
+});
+return currentValue;
+}
 
-double currentValue;
-s_controller->executeOnAXThreadAndWait([this, ] {
+// Consider headings as an special case when returning the int value.
+unsigned elementRole;
+s_controller->executeOnAXThreadAndWait([this, ] {
 m_element->updateBackingStore();
-currentValue = m_element->currentValue();
+elementRole = m_element->role();
 });
-return currentValue;
+if (elementRole == WebCore::Atspi::Role::Heading)
+return m_element->attributes().get("level").toDouble();
+
+return 0;
 }
 
 double AccessibilityUIElement::minValue()






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


[webkit-changes] [287391] trunk/Tools

2021-12-23 Thread carlosgc
Title: [287391] trunk/Tools








Revision 287391
Author carlo...@webkit.org
Date 2021-12-23 00:57:03 -0800 (Thu, 23 Dec 2021)


Log Message
[GTK][a11y] WTR: handle missing cases in isAttributeSettable with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=234601

Reviewed by Adrian Perez de Castro.

We need to handle aria-readonly attribute and the combobox and listbox elements.

* WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
(WTR::AccessibilityUIElement::isAttributeSettable):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp




Diff

Modified: trunk/Tools/ChangeLog (287390 => 287391)

--- trunk/Tools/ChangeLog	2021-12-23 08:56:11 UTC (rev 287390)
+++ trunk/Tools/ChangeLog	2021-12-23 08:57:03 UTC (rev 287391)
@@ -1,5 +1,17 @@
 2021-12-23  Carlos Garcia Campos  
 
+[GTK][a11y] WTR: handle missing cases in isAttributeSettable with ATSPI
+https://bugs.webkit.org/show_bug.cgi?id=234601
+
+Reviewed by Adrian Perez de Castro.
+
+We need to handle aria-readonly attribute and the combobox and listbox elements.
+
+* WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
+(WTR::AccessibilityUIElement::isAttributeSettable):
+
+2021-12-23  Carlos Garcia Campos  
+
 [GTK][a11y] WTR: add missing bool and string attribute values with ATSPI
 https://bugs.webkit.org/show_bug.cgi?id=234599
 


Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp (287390 => 287391)

--- trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp	2021-12-23 08:56:11 UTC (rev 287390)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp	2021-12-23 08:57:03 UTC (rev 287391)
@@ -488,6 +488,34 @@
 if (checkElementState(m_element.get(), WebCore::Atspi::State::Checkable))
 return true;
 
+auto attributes = m_element->attributes();
+String isReadOnly = attributes.get("readonly");
+if (!isReadOnly.isEmpty())
+return isReadOnly == "true" ? false : true;
+
+// If we have a listbox or combobox and the value can be set, the options should be selectable.
+unsigned elementRole;
+s_controller->executeOnAXThreadAndWait([this, ] {
+m_element->updateBackingStore();
+elementRole = m_element->role();
+});
+switch (elementRole) {
+case WebCore::Atspi::Role::ComboBox:
+case WebCore::Atspi::Role::ListBox:
+if (auto child = childAtIndex(0)) {
+if (elementRole == WebCore::Atspi::Role::ComboBox) {
+// First child is the menu.
+child = child->childAtIndex(0);
+}
+
+if (child)
+return checkElementState(child->m_element.get(), WebCore::Atspi::State::Selectable);
+}
+break;
+default:
+break;
+}
+
 if (m_element->interfaces().contains(WebCore::AccessibilityObjectAtspi::Interface::Value)
 && checkElementState(m_element.get(), WebCore::Atspi::State::Focusable)) {
 double minimumValue, maximumValue;






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


[webkit-changes] [287389] trunk/Tools

2021-12-23 Thread carlosgc
Title: [287389] trunk/Tools








Revision 287389
Author carlo...@webkit.org
Date 2021-12-23 00:55:22 -0800 (Thu, 23 Dec 2021)


Log Message
[GTK][a11y] WTR: ensure the root object is created before getting the focused element with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=234597

Reviewed by Adrian Perez de Castro.

This is causing some tests to fail when executed in the same web process after another test.

* WebKitTestRunner/InjectedBundle/atspi/AccessibilityControllerAtspi.cpp:
(WTR::AccessibilityController::focusedElement):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityControllerAtspi.cpp




Diff

Modified: trunk/Tools/ChangeLog (287388 => 287389)

--- trunk/Tools/ChangeLog	2021-12-23 08:54:35 UTC (rev 287388)
+++ trunk/Tools/ChangeLog	2021-12-23 08:55:22 UTC (rev 287389)
@@ -1,5 +1,17 @@
 2021-12-23  Carlos Garcia Campos  
 
+[GTK][a11y] WTR: ensure the root object is created before getting the focused element with ATSPI
+https://bugs.webkit.org/show_bug.cgi?id=234597
+
+Reviewed by Adrian Perez de Castro.
+
+This is causing some tests to fail when executed in the same web process after another test.
+
+* WebKitTestRunner/InjectedBundle/atspi/AccessibilityControllerAtspi.cpp:
+(WTR::AccessibilityController::focusedElement):
+
+2021-12-23  Carlos Garcia Campos  
+
 [GTK][a11y] WTR: add support for notifications when building with ATSPI
 https://bugs.webkit.org/show_bug.cgi?id=234550
 


Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityControllerAtspi.cpp (287388 => 287389)

--- trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityControllerAtspi.cpp	2021-12-23 08:54:35 UTC (rev 287388)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityControllerAtspi.cpp	2021-12-23 08:55:22 UTC (rev 287389)
@@ -101,6 +101,9 @@
 RefPtr AccessibilityController::focusedElement()
 {
 WKBundlePageRef page = InjectedBundle::singleton().page()->page();
+if (!WKAccessibilityRootObject(page))
+return nullptr;
+
 if (auto* element = static_cast(WKAccessibilityFocusedObject(page)))
 return AccessibilityUIElement::create(element);
 return nullptr;






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


[webkit-changes] [287390] trunk/Tools

2021-12-23 Thread carlosgc
Title: [287390] trunk/Tools








Revision 287390
Author carlo...@webkit.org
Date 2021-12-23 00:56:11 -0800 (Thu, 23 Dec 2021)


Log Message
[GTK][a11y] WTR: add missing bool and string attribute values with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=234599

Reviewed by Adrian Perez de Castro.

* WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
(WTR::checkElementState):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::boolAttributeValue):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp




Diff

Modified: trunk/Tools/ChangeLog (287389 => 287390)

--- trunk/Tools/ChangeLog	2021-12-23 08:55:22 UTC (rev 287389)
+++ trunk/Tools/ChangeLog	2021-12-23 08:56:11 UTC (rev 287390)
@@ -1,5 +1,17 @@
 2021-12-23  Carlos Garcia Campos  
 
+[GTK][a11y] WTR: add missing bool and string attribute values with ATSPI
+https://bugs.webkit.org/show_bug.cgi?id=234599
+
+Reviewed by Adrian Perez de Castro.
+
+* WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
+(WTR::checkElementState):
+(WTR::AccessibilityUIElement::stringAttributeValue):
+(WTR::AccessibilityUIElement::boolAttributeValue):
+
+2021-12-23  Carlos Garcia Campos  
+
 [GTK][a11y] WTR: ensure the root object is created before getting the focused element with ATSPI
 https://bugs.webkit.org/show_bug.cgi?id=234597
 


Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp (287389 => 287390)

--- trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp	2021-12-23 08:55:22 UTC (rev 287389)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp	2021-12-23 08:56:11 UTC (rev 287390)
@@ -343,6 +343,11 @@
 return JSStringCreateWithCharacters(nullptr, 0);
 }
 
+static bool checkElementState(WebCore::AccessibilityObjectAtspi* element, WebCore::Atspi::State state)
+{
+return element->state() & (G_GUINT64_CONSTANT(1) << state);
+}
+
 JSRetainPtr AccessibilityUIElement::stringAttributeValue(JSStringRef attribute)
 {
 String attributeName = toWTFString(attribute);
@@ -359,6 +364,13 @@
 auto attributes = m_element->attributes();
 if (attributeName == "AXPlaceholderValue")
 return OpaqueJSString::tryCreate(attributes.get("placeholder-text")).leakRef();
+if (attributeName == "AXInvalid") {
+auto textAttributes = m_element->textAttributes();
+auto value = textAttributes.attributes.get("invalid");
+if (value.isEmpty())
+value = checkElementState(m_element.get(), WebCore::Atspi::State::InvalidEntry) ? "true" : "false";
+return OpaqueJSString::tryCreate(value).leakRef();
+}
 
 return JSStringCreateWithCharacters(nullptr, 0);
 }
@@ -444,16 +456,19 @@
 return nullptr;
 }
 
-static bool checkElementState(WebCore::AccessibilityObjectAtspi* element, WebCore::Atspi::State state)
-{
-return element->state() & (G_GUINT64_CONSTANT(1) << state);
-}
-
 bool AccessibilityUIElement::boolAttributeValue(JSStringRef attribute)
 {
 String attributeName = toWTFString(attribute);
 if (attributeName == "AXElementBusy")
 return checkElementState(m_element.get(), WebCore::Atspi::State::Busy);
+if (attributeName == "AXModal")
+return checkElementState(m_element.get(), WebCore::Atspi::State::Modal);
+if (attributeName == "AXSupportsAutoCompletion")
+return checkElementState(m_element.get(), WebCore::Atspi::State::SupportsAutocompletion);
+if (attributeName == "AXInterfaceTable")
+return m_element->interfaces().contains(WebCore::AccessibilityObjectAtspi::Interface::Table);
+if (attributeName == "AXInterfaceTableCell")
+return m_element->interfaces().contains(WebCore::AccessibilityObjectAtspi::Interface::TableCell);
 
 return false;
 }






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


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

2021-12-23 Thread carlosgc
Title: [287388] trunk/Source/WebCore








Revision 287388
Author carlo...@webkit.org
Date 2021-12-23 00:54:35 -0800 (Thu, 23 Dec 2021)


Log Message
[GTK][a11y] Test accessibility/svg-remote-element.html crashes with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=234563

Reviewed by Adrian Perez de Castro.

This is because the remote svg element wrappers can't be created because the svg image page hasn't the root
object set.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::remoteSVGRootElement const): Set the root image wrapper element on the svg
image page.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (287387 => 287388)

--- trunk/Source/WebCore/ChangeLog	2021-12-23 08:53:38 UTC (rev 287387)
+++ trunk/Source/WebCore/ChangeLog	2021-12-23 08:54:35 UTC (rev 287388)
@@ -1,5 +1,19 @@
 2021-12-23  Carlos Garcia Campos  
 
+[GTK][a11y] Test accessibility/svg-remote-element.html crashes with ATSPI
+https://bugs.webkit.org/show_bug.cgi?id=234563
+
+Reviewed by Adrian Perez de Castro.
+
+This is because the remote svg element wrappers can't be created because the svg image page hasn't the root
+object set.
+
+* accessibility/AccessibilityRenderObject.cpp:
+(WebCore::AccessibilityRenderObject::remoteSVGRootElement const): Set the root image wrapper element on the svg
+image page.
+
+2021-12-23  Carlos Garcia Campos  
+
 [GTK][a11y] WTR: add support for notifications when building with ATSPI
 https://bugs.webkit.org/show_bug.cgi?id=234550
 


Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (287387 => 287388)

--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2021-12-23 08:53:38 UTC (rev 287387)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2021-12-23 08:54:35 UTC (rev 287388)
@@ -3397,7 +3397,12 @@
 ASSERT(!createIfNecessary || rootSVGObject);
 if (!is(rootSVGObject))
 return nullptr;
-
+
+#if USE(ATSPI)
+if (auto* page = document->page())
+page->setAccessibilityRootObject(createIfNecessary == Create ? axObjectCache()->document().page()->accessibilityRootObject() : nullptr);
+#endif
+
 return downcast(rootSVGObject);
 }
 






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


[webkit-changes] [287387] trunk

2021-12-23 Thread carlosgc
Title: [287387] trunk








Revision 287387
Author carlo...@webkit.org
Date 2021-12-23 00:53:38 -0800 (Thu, 23 Dec 2021)


Log Message
[GTK][a11y] WTR: add support for notifications when building with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=234550

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Add private API for WTR notifications.

* accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::childrenChanged):
(WebCore::AccessibilityAtspi::stateChanged):
(WebCore::AccessibilityAtspi::textChanged):
(WebCore::AccessibilityAtspi::textCaretMoved):
(WebCore::AccessibilityAtspi::valueChanged):
(WebCore::AccessibilityAtspi::selectionChanged):
(WebCore::AccessibilityAtspi::loadEvent):
(WebCore::AccessibilityAtspi::addNotificationObserver):
(WebCore::AccessibilityAtspi::removeNotificationObserver):
(WebCore::AccessibilityAtspi::notifyStateChanged const):
(WebCore::AccessibilityAtspi::notifySelectionChanged const):
(WebCore::AccessibilityAtspi::notifyTextChanged const):
(WebCore::AccessibilityAtspi::notifyTextCaretMoved const):
(WebCore::AccessibilityAtspi::notifyChildrenChanged const):
(WebCore::AccessibilityAtspi::notifyValueChanged const):
(WebCore::AccessibilityAtspi::notifyLoadEvent const):
* accessibility/atspi/AccessibilityAtspi.h:

Tools:

Add AccessibilityNotificationHandler class to handle the ATSPI notifications.

* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/atspi/AccessibilityControllerAtspi.cpp:
(WTR::AccessibilityController::resetToConsistentState): Remove the global event listener if there's one active.
(WTR::AccessibilityController::addNotificationListener): Create a global event listener.
(WTR::AccessibilityController::removeNotificationListener): Remove the global event listener.
* WebKitTestRunner/InjectedBundle/atspi/AccessibilityNotificationHandler.cpp: Added.
(WTR::AccessibilityNotificationHandler::AccessibilityNotificationHandler):
(WTR::AccessibilityNotificationHandler::~AccessibilityNotificationHandler):
* WebKitTestRunner/InjectedBundle/atspi/AccessibilityNotificationHandler.h: Added.
* WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
(WTR::AccessibilityUIElement::addNotificationListener): Create the element event listener.
(WTR::AccessibilityUIElement::removeNotificationListener): Remove the element event listener.
* WebKitTestRunner/PlatformGTK.cmake:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/accessibility/atspi/AccessibilityAtspi.cpp
trunk/Source/WebCore/accessibility/atspi/AccessibilityAtspi.h
trunk/Tools/ChangeLog
trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.cpp
trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.h
trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h
trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityControllerAtspi.cpp
trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp
trunk/Tools/WebKitTestRunner/PlatformGTK.cmake


Added Paths

trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityNotificationHandler.cpp
trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityNotificationHandler.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (287386 => 287387)

--- trunk/Source/WebCore/ChangeLog	2021-12-23 08:46:14 UTC (rev 287386)
+++ trunk/Source/WebCore/ChangeLog	2021-12-23 08:53:38 UTC (rev 287387)
@@ -1,3 +1,31 @@
+2021-12-23  Carlos Garcia Campos  
+
+[GTK][a11y] WTR: add support for notifications when building with ATSPI
+https://bugs.webkit.org/show_bug.cgi?id=234550
+
+Reviewed by Adrian Perez de Castro.
+
+Add private API for WTR notifications.
+
+* accessibility/atspi/AccessibilityAtspi.cpp:
+(WebCore::AccessibilityAtspi::childrenChanged):
+(WebCore::AccessibilityAtspi::stateChanged):
+(WebCore::AccessibilityAtspi::textChanged):
+(WebCore::AccessibilityAtspi::textCaretMoved):
+(WebCore::AccessibilityAtspi::valueChanged):
+(WebCore::AccessibilityAtspi::selectionChanged):
+(WebCore::AccessibilityAtspi::loadEvent):
+(WebCore::AccessibilityAtspi::addNotificationObserver):
+(WebCore::AccessibilityAtspi::removeNotificationObserver):
+(WebCore::AccessibilityAtspi::notifyStateChanged const):
+(WebCore::AccessibilityAtspi::notifySelectionChanged const):
+(WebCore::AccessibilityAtspi::notifyTextChanged const):
+(WebCore::AccessibilityAtspi::notifyTextCaretMoved const):
+(WebCore::AccessibilityAtspi::notifyChildrenChanged const):
+(WebCore::AccessibilityAtspi::notifyValueChanged const):
+(WebCore::AccessibilityAtspi::notifyLoadEvent const):
+* accessibility/atspi/AccessibilityAtspi.h:
+
 2021-12-23  Philippe Normand  
 
 [GStreamer] 

[webkit-changes] [287386] trunk

2021-12-23 Thread commit-queue
Title: [287386] trunk








Revision 287386
Author commit-qu...@webkit.org
Date 2021-12-23 00:46:14 -0800 (Thu, 23 Dec 2021)


Log Message
[GStreamer] test fast/mediastream/get-display-media-settings.html fails
https://bugs.webkit.org/show_bug.cgi?id=233879

Patch by Philippe Normand  on 2021-12-23
Reviewed by Youenn Fablet.

Source/WebCore:

Pass down hashSalt to GStreamer display mock capture source and
advertise its deviceId as supported constraint.

* platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp:
(WebCore::MockDisplayCaptureSourceGStreamer::create):
(WebCore::MockDisplayCaptureSourceGStreamer::MockDisplayCaptureSourceGStreamer):
(WebCore::MockDisplayCaptureSourceGStreamer::settings):
* platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.h:
* platform/mock/MockRealtimeMediaSourceCenter.cpp:

LayoutTests:

* platform/glib/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/glib/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp
trunk/Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.h
trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (287385 => 287386)

--- trunk/LayoutTests/ChangeLog	2021-12-23 07:14:55 UTC (rev 287385)
+++ trunk/LayoutTests/ChangeLog	2021-12-23 08:46:14 UTC (rev 287386)
@@ -1,3 +1,12 @@
+2021-12-23  Philippe Normand  
+
+[GStreamer] test fast/mediastream/get-display-media-settings.html fails
+https://bugs.webkit.org/show_bug.cgi?id=233879
+
+Reviewed by Youenn Fablet.
+
+* platform/glib/TestExpectations:
+
 2021-12-22  Aditya Keerthi  
 
 [iOS] metromile.com  dropdowns open twice


Modified: trunk/LayoutTests/platform/glib/TestExpectations (287385 => 287386)

--- trunk/LayoutTests/platform/glib/TestExpectations	2021-12-23 07:14:55 UTC (rev 287385)
+++ trunk/LayoutTests/platform/glib/TestExpectations	2021-12-23 08:46:14 UTC (rev 287386)
@@ -1365,8 +1365,6 @@
 
 webkit.org/b/229055 http/wpt/webrtc/sframe-transform-error.html [ Failure ]
 
-webkit.org/b/233879 fast/mediastream/get-display-media-settings.html [ Failure ]
-
 #
 # End of WebRTC-related bugs
 #


Modified: trunk/Source/WebCore/ChangeLog (287385 => 287386)

--- trunk/Source/WebCore/ChangeLog	2021-12-23 07:14:55 UTC (rev 287385)
+++ trunk/Source/WebCore/ChangeLog	2021-12-23 08:46:14 UTC (rev 287386)
@@ -1,3 +1,20 @@
+2021-12-23  Philippe Normand  
+
+[GStreamer] test fast/mediastream/get-display-media-settings.html fails
+https://bugs.webkit.org/show_bug.cgi?id=233879
+
+Reviewed by Youenn Fablet.
+
+Pass down hashSalt to GStreamer display mock capture source and
+advertise its deviceId as supported constraint.
+
+* platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp:
+(WebCore::MockDisplayCaptureSourceGStreamer::create):
+(WebCore::MockDisplayCaptureSourceGStreamer::MockDisplayCaptureSourceGStreamer):
+(WebCore::MockDisplayCaptureSourceGStreamer::settings):
+* platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.h:
+* platform/mock/MockRealtimeMediaSourceCenter.cpp:
+
 2021-12-22  Rob Buis  
 
 RenderLayer WIP


Modified: trunk/Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp (287385 => 287386)

--- trunk/Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp	2021-12-23 07:14:55 UTC (rev 287385)
+++ trunk/Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp	2021-12-23 08:46:14 UTC (rev 287386)
@@ -50,9 +50,9 @@
 return CaptureSourceOrError(RealtimeVideoSource::create(WTFMove(source)));
 }
 
-CaptureSourceOrError MockDisplayCaptureSourceGStreamer::create(const CaptureDevice& device, const MediaConstraints* constraints)
+CaptureSourceOrError MockDisplayCaptureSourceGStreamer::create(const CaptureDevice& device, String&& hashSalt, const MediaConstraints* constraints)
 {
-auto mockSource = adoptRef(*new MockRealtimeVideoSourceGStreamer(String { device.persistentId() }, String { device.label() }, { }));
+auto mockSource = adoptRef(*new MockRealtimeVideoSourceGStreamer(String { device.persistentId() }, String { device.label() }, WTFMove(hashSalt)));
 
 if (constraints) {
 if (auto error = mockSource->applyConstraints(*constraints))
@@ -59,12 +59,12 @@
 return WTFMove(error.value().badConstraint);
 }
 
-auto source = adoptRef(*new MockDisplayCaptureSourceGStreamer(WTFMove(mockSource), device.type()));
+auto source = adoptRef(*new MockDisplayCaptureSourceGStreamer(WTFMove(mockSource), WTFMove(hashSalt),