[webkit-changes] [288087] trunk

2022-01-16 Thread youenn
Title: [288087] trunk








Revision 288087
Author you...@apple.com
Date 2022-01-16 22:44:44 -0800 (Sun, 16 Jan 2022)


Log Message
Enforce focus check for getUserMedia
https://bugs.webkit.org/show_bug.cgi?id=235026

Source/WebCore:

Reviewed by Eric Carlson.

Add infrastructure to register a callback so that a task is executed when the document is visible.
Use this to delay getUserMedia requests until document is visible.
The spec currently defines that we should wait for the current document to have focus but this is about to be changed and is not aligned with other browser implementations.

The patch also moves some getUserMedia checks earlier so as to respect order provided by the specs.
Add a check to validate getDisplayMedia is called on a visible document as the user gesture is now time based.

Covered by API test.

* Modules/mediastream/MediaDevices.cpp:
* Modules/mediastream/UserMediaRequest.cpp:
* Modules/mediastream/UserMediaRequest.h:
* dom/Document.cpp:
* dom/Document.h:
* editing/FrameSelection.cpp:

Source/WebKit:

Reviewed by Eric Carlson.

Add setters/getters for the getUserMedia focus settings.

* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetGetUserMediaRequiresFocus):
(WKPreferencesGetGetUserMediaRequiresFocus):
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _getUserMediaRequiresFocus]):
(-[WKPreferences _setGetUserMediaRequiresFocus:]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* UIProcess/API/glib/WebKitSettings.cpp:
(webkitSettingsSetGetUserMediaRequiresFocus):
* UIProcess/API/glib/WebKitSettingsPrivate.h:
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseMap): Always add the WindowIsActive flag under xvfb.
(webkitWebViewBaseIsFocused): Always consider the view focused when WindowIsActive flag is present under xvfb.

Source/WTF:

Reviewed by Eric Carlson.

* Scripts/Preferences/WebPreferencesInternal.yaml:

Tools:

Reviewed by Eric Carlson.

Disable focus flag for testing to not require to focus the window.

* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::initializeMediaCaptureConfiguration):
(TestWebKitAPI::doCaptureMuteTest):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:
(TestWebKitAPI::initializeMediaCaptureConfiguration):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
(TestWebKitAPI::initializeMediaCaptureConfiguration):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/AudioBufferSize.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
(TestWebKitAPI::GetDisplayMediaTest::SetUp):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/UserMediaDisabled.mm:
(MediaCaptureDisabledTest::SetUp):
* TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
(MediaCaptureSimulateFailedSandbox::SetUp):
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewUserMediaEnumerateDevicesPermissionCheck):
(testWebViewUserMediaPermissionRequests):
(testWebViewAudioOnlyUserMediaPermissionRequests):

LayoutTests:

Reviewed by Eric Carlson.

* fast/mediastream/MediaDevices-getUserMedia-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/mediastream/MediaDevices-getUserMedia-expected.txt
trunk/Source/WTF/ChangeLog
trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/mediastream/MediaDevices.cpp
trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp
trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.h
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Document.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp
trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h
trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm
trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h
trunk/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp
trunk/Source/WebKit/UIProcess/API/glib/WebKitSettingsPrivate.h
trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm
trunk/Tools/TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm
trunk/Tools/TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm
trunk/Tools/TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm
trunk/Tools/TestWebKitAPI/Tests/WebKit/UserMedia.cpp
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/AudioBufferSize.mm
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm

[webkit-changes] [288086] trunk

2022-01-16 Thread youenn
Title: [288086] trunk








Revision 288086
Author you...@apple.com
Date 2022-01-16 22:41:57 -0800 (Sun, 16 Jan 2022)


Log Message
Queue a task to fire MediaStreamTrack ended event
https://bugs.webkit.org/show_bug.cgi?id=235227

Reviewed by Eric Carlson.

Source/WebCore:

Adding a specific readyState slot to match the spec and queue a task to stop the track instead of firing the event synchronously.
Covered by updated test.

* Modules/mediastream/MediaStreamTrack.cpp:
* Modules/mediastream/MediaStreamTrack.h:

LayoutTests:

* fast/mediastream/media-stream-track-source-failure.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/mediastream/media-stream-track-source-failure.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h




Diff

Modified: trunk/LayoutTests/ChangeLog (288085 => 288086)

--- trunk/LayoutTests/ChangeLog	2022-01-17 05:18:06 UTC (rev 288085)
+++ trunk/LayoutTests/ChangeLog	2022-01-17 06:41:57 UTC (rev 288086)
@@ -1,3 +1,12 @@
+2022-01-16  Youenn Fablet  
+
+Queue a task to fire MediaStreamTrack ended event
+https://bugs.webkit.org/show_bug.cgi?id=235227
+
+Reviewed by Eric Carlson.
+
+* fast/mediastream/media-stream-track-source-failure.html:
+
 2022-01-16  Brady Eidson  
 
 database names leak cross-origin within the same browser session


Modified: trunk/LayoutTests/fast/mediastream/media-stream-track-source-failure.html (288085 => 288086)

--- trunk/LayoutTests/fast/mediastream/media-stream-track-source-failure.html	2022-01-17 05:18:06 UTC (rev 288085)
+++ trunk/LayoutTests/fast/mediastream/media-stream-track-source-failure.html	2022-01-17 06:41:57 UTC (rev 288086)
@@ -34,7 +34,10 @@
 promise_test((test) => {
 return new Promise((resolve, reject) => {
 const mediaState = internals.pageMediaState();
+let trackEndedEventFired = false;
 track._onended_ = () => {
+assert_equals(track.readyState, "ended");
+trackEndedEventFired = true;
 new Promise((innerResolve, innerReject) => {
 waitForPageStateChange(10, mediaState, innerResolve, innerReject)
 }).then((pageMediaState) => {
@@ -59,8 +62,13 @@
 })
 }
 
-if (window.internals)
+if (window.internals) {
 internals.simulateMediaStreamTrackCaptureSourceFailure(track);
+assert_equals(track.readyState, "live");
+setTimeout(() => {
+assert_true(trackEndedEventFired, "ended");
+}, 0);
+}
 setTimeout(() => reject("Device state did not change in 5 second"), 5000);
 
 });


Modified: trunk/Source/WebCore/ChangeLog (288085 => 288086)

--- trunk/Source/WebCore/ChangeLog	2022-01-17 05:18:06 UTC (rev 288085)
+++ trunk/Source/WebCore/ChangeLog	2022-01-17 06:41:57 UTC (rev 288086)
@@ -1,3 +1,16 @@
+2022-01-16  Youenn Fablet  
+
+Queue a task to fire MediaStreamTrack ended event
+https://bugs.webkit.org/show_bug.cgi?id=235227
+
+Reviewed by Eric Carlson.
+
+Adding a specific readyState slot to match the spec and queue a task to stop the track instead of firing the event synchronously.
+Covered by updated test.
+
+* Modules/mediastream/MediaStreamTrack.cpp:
+* Modules/mediastream/MediaStreamTrack.h:
+
 2022-01-16  Lauro Moura  
 
 Fix C++20 build warnings with GCC


Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp (288085 => 288086)

--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp	2022-01-17 05:18:06 UTC (rev 288085)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp	2022-01-17 06:41:57 UTC (rev 288086)
@@ -203,11 +203,6 @@
 return m_muted;
 }
 
-auto MediaStreamTrack::readyState() const -> State
-{
-return ended() ? State::Ended : State::Live;
-}
-
 bool MediaStreamTrack::ended() const
 {
 return m_ended || m_private->ended();
@@ -220,7 +215,13 @@
 
 ALWAYS_LOG(LOGIDENTIFIER);
 
-return MediaStreamTrack::create(*scriptExecutionContext(), m_private->clone());
+auto clone = MediaStreamTrack::create(*scriptExecutionContext(), m_private->clone());
+
+clone->m_readyState = m_readyState;
+if (clone->ended() && clone->m_readyState == State::Live)
+trackEnded(clone->m_private);
+
+return clone;
 }
 
 void MediaStreamTrack::stopTrack(StopMode mode)
@@ -235,8 +236,10 @@
 
 // An 'ended' event is not posted if m_ended is true when trackEnded is called, so set it now if we are
 // not supposed to post the event.
-if (mode == StopMode::Silently)
+if (mode == StopMode::Silently) {
 m_ended = true;
+m_readyState = State::Ended;
+

[webkit-changes] [288085] trunk/Source

2022-01-16 Thread lmoura
Title: [288085] trunk/Source








Revision 288085
Author lmo...@igalia.com
Date 2022-01-16 21:18:06 -0800 (Sun, 16 Jan 2022)


Log Message
Fix C++20 build warnings with GCC
https://bugs.webkit.org/show_bug.cgi?id=235023

Reviewed by Alex Christensen.

Mostly related to deprecating operations between enums of different
types and not capturing this by default in lambdas.

Source/_javascript_Core:

* assembler/X86Assembler.h: Casting enums to same type.
(JSC::X86Assembler::cmovcc):
(JSC::X86Assembler::jccRel32):
(JSC::X86Assembler::setccOpcode):
* b3/B3CheckSpecial.cpp: Capture this in lambda.
(JSC::B3::CheckSpecial::generate):
* b3/B3Type.cpp: Replace is_pod_v is is_standard_layout_v and
is_trivial_v
* bytecode/AccessCase.cpp: Capture this in lambda.
(JSC::AccessCase::generateImpl):
* bytecode/CallLinkInfo.cpp: Ditto.
(JSC::OptimizingCallLinkInfo::emitDirectFastPath):
(JSC::OptimizingCallLinkInfo::emitDirectTailCallFastPath):
(JSC::OptimizingCallLinkInfo::initializeDirectCall):
* dfg/DFGSpeculativeJIT.cpp: Ditto.
* dfg/DFGSpeculativeJIT64.cpp: Ditto.
(JSC::DFG::SpeculativeJIT::compile):
* jit/ICStats.h: Cast enums to same type.
(JSC::ICEvent::hash const):
* jit/JITArithmetic.cpp: Capture this in lambda.
(JSC::JIT::emitMathICSlow):
* jit/JITSizeStatistics.cpp: Ditto.
(JSC::JITSizeStatistics::markEnd):
* runtime/VM.cpp: Ditto.
(JSC::VM::deleteAllLinkedCode):
(JSC::VM::deleteAllCode):
(JSC::VM::shrinkFootprintWhenIdle):
* wasm/WasmAirIRGenerator.cpp: Ditto.
(JSC::Wasm::AirIRGenerator::AirIRGenerator):
(JSC::Wasm::AirIRGenerator::addTableGet):
(JSC::Wasm::AirIRGenerator::addTableSet):
(JSC::Wasm::AirIRGenerator::addTableInit):
(JSC::Wasm::AirIRGenerator::addTableFill):
(JSC::Wasm::AirIRGenerator::addTableCopy):
(JSC::Wasm::AirIRGenerator::addMemoryFill):
(JSC::Wasm::AirIRGenerator::addMemoryCopy):
(JSC::Wasm::AirIRGenerator::addMemoryInit):
(JSC::Wasm::AirIRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::AirIRGenerator::emitAtomicLoadOp):
(JSC::Wasm::AirIRGenerator::emitAtomicStoreOp):
(JSC::Wasm::AirIRGenerator::emitAtomicBinaryRMWOp):
(JSC::Wasm::AirIRGenerator::emitAtomicCompareExchange):
(JSC::Wasm::AirIRGenerator::atomicWait):
(JSC::Wasm::AirIRGenerator::atomicNotify):
(JSC::Wasm::AirIRGenerator::emitEntryTierUpCheck):
(JSC::Wasm::AirIRGenerator::emitLoopTierUpCheck):
(JSC::Wasm::AirIRGenerator::addCallIndirect):
(JSC::Wasm::AirIRGenerator::addCallRef):
(JSC::Wasm::AirIRGenerator::emitChecksForModOrDiv):
(JSC::Wasm::AirIRGenerator::addOp):
(JSC::Wasm::AirIRGenerator::addOp):
(JSC::Wasm::AirIRGenerator::addOp):
(JSC::Wasm::AirIRGenerator::addOp):
(JSC::Wasm::AirIRGenerator::addOp):
(JSC::Wasm::AirIRGenerator::addOp):
(JSC::Wasm::AirIRGenerator::addOp):
(JSC::Wasm::AirIRGenerator::addOp):
* wasm/WasmB3IRGenerator.cpp: Ditto.
(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::addTableGet):
(JSC::Wasm::B3IRGenerator::addTableSet):
(JSC::Wasm::B3IRGenerator::addTableInit):
(JSC::Wasm::B3IRGenerator::addTableFill):
(JSC::Wasm::B3IRGenerator::addTableCopy):
(JSC::Wasm::B3IRGenerator::emitIndirectCall):
(JSC::Wasm::B3IRGenerator::addMemoryFill):
(JSC::Wasm::B3IRGenerator::addMemoryInit):
(JSC::Wasm::B3IRGenerator::addMemoryCopy):
(JSC::Wasm::B3IRGenerator::fixupPointerPlusOffsetForAtomicOps):
(JSC::Wasm::B3IRGenerator::atomicWait):
(JSC::Wasm::B3IRGenerator::atomicNotify):
(JSC::Wasm::B3IRGenerator::emitEntryTierUpCheck):
(JSC::Wasm::B3IRGenerator::emitLoopTierUpCheck):
(JSC::Wasm::B3IRGenerator::addCall):
(JSC::Wasm::B3IRGenerator::addCallIndirect):
(JSC::Wasm::B3IRGenerator::addCallRef):
(JSC::Wasm::B3IRGenerator::emitChecksForModOrDiv):
(JSC::Wasm::B3IRGenerator::addOp):
(JSC::Wasm::B3IRGenerator::addOp):
(JSC::Wasm::B3IRGenerator::addOp):
(JSC::Wasm::B3IRGenerator::addOp):
(JSC::Wasm::B3IRGenerator::addOp):
(JSC::Wasm::B3IRGenerator::addOp):
(JSC::Wasm::B3IRGenerator::addOp):
(JSC::Wasm::B3IRGenerator::addOp):
* yarr/YarrJIT.cpp: Ditto.

Source/WebCore:

* dom/ViewportArguments.h: Replace enum with constexpr ints as they're
compared to doubles in various places through ViewportArguments.cpp.
* dom/WheelEvent.h: Replace single-valued enum with constexpr
variable.
* platform/animation/Animation.h: Ditto.
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
Ditto.
(WebCore::CoordinatedGraphicsLayer::shouldDirectlyCompositeImage const):
* rendering/style/RenderStyleConstants.h: Merge two enums that are
used only in the context of being combined to form a third enum.

Source/WebKit:

* WebProcess/Inspector/WebInspector.cpp: Capture this in lambdas.
(WebKit::WebInspector::showConsole):
(WebKit::WebInspector::showResources):
(WebKit::WebInspector::showMainResourceForFrame):
(WebKit::WebInspector::startPageProfiling):
(WebKit::WebInspector::stopPageProfiling):
(WebKit::WebInspector::startElementSelection):
(WebKit::WebInspector::stopElementSelection):

Source/WTF:

* wtf/AutomaticThread.cpp: Capture this in lambda.
(WTF::AutomaticThread::start):

Modified Paths


[webkit-changes] [288084] tags/Safari-612.4.9.0.3/

2022-01-16 Thread bshafiei
Title: [288084] tags/Safari-612.4.9.0.3/








Revision 288084
Author bshaf...@apple.com
Date 2022-01-16 19:56:40 -0800 (Sun, 16 Jan 2022)


Log Message
Tag Safari-612.4.9.0.3.

Added Paths

tags/Safari-612.4.9.0.3/




Diff




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


[webkit-changes] [288083] tags/Safari-612.4.9.1.5/

2022-01-16 Thread bshafiei
Title: [288083] tags/Safari-612.4.9.1.5/








Revision 288083
Author bshaf...@apple.com
Date 2022-01-16 19:54:47 -0800 (Sun, 16 Jan 2022)


Log Message
Tag Safari-612.4.9.1.5.

Added Paths

tags/Safari-612.4.9.1.5/




Diff




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


[webkit-changes] [288082] branches/safari-612.4.9.0-branch

2022-01-16 Thread bshafiei
Title: [288082] branches/safari-612.4.9.0-branch








Revision 288082
Author bshaf...@apple.com
Date 2022-01-16 19:49:56 -0800 (Sun, 16 Jan 2022)


Log Message
Cherry-pick r288078. rdar://problem/85801310

database names leak cross-origin within the same browser session
https://bugs.webkit.org/show_bug.cgi?id=233548

Reviewed by Geoff Garen.

Source/WebCore:

Test: http/tests/security/getdatabases-crossorigin.html

* Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::getAllDatabaseNamesAndVersions): When iterating the set of all open
  UniqueIDBDatabases, only add them to the results list if their origins match.

* page/ClientOrigin.h:
(WebCore::ClientOrigin::operator!= const):

LayoutTests:

* http/tests/security/getdatabases-crossorigin-expected.txt: Added.
* http/tests/security/getdatabases-crossorigin.html: Added.
* http/tests/security/resources/getdatabases-otherframe.html: Added.
* http/tests/security/resources/getdatabases-otherwindow.html: Added.

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

Modified Paths

branches/safari-612.4.9.0-branch/LayoutTests/ChangeLog
branches/safari-612.4.9.0-branch/Source/WebCore/ChangeLog
branches/safari-612.4.9.0-branch/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp
branches/safari-612.4.9.0-branch/Source/WebCore/page/ClientOrigin.h


Added Paths

branches/safari-612.4.9.0-branch/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt
branches/safari-612.4.9.0-branch/LayoutTests/http/tests/security/getdatabases-crossorigin.html
branches/safari-612.4.9.0-branch/LayoutTests/http/tests/security/resources/getdatabases-otherframe.html
branches/safari-612.4.9.0-branch/LayoutTests/http/tests/security/resources/getdatabases-otherwindow.html




Diff

Modified: branches/safari-612.4.9.0-branch/LayoutTests/ChangeLog (288081 => 288082)

--- branches/safari-612.4.9.0-branch/LayoutTests/ChangeLog	2022-01-17 03:46:57 UTC (rev 288081)
+++ branches/safari-612.4.9.0-branch/LayoutTests/ChangeLog	2022-01-17 03:49:56 UTC (rev 288082)
@@ -1,3 +1,45 @@
+2022-01-16  Russell Epstein  
+
+Cherry-pick r288078. rdar://problem/85801310
+
+database names leak cross-origin within the same browser session
+https://bugs.webkit.org/show_bug.cgi?id=233548
+
+Reviewed by Geoff Garen.
+
+Source/WebCore:
+
+Test: http/tests/security/getdatabases-crossorigin.html
+
+* Modules/indexeddb/server/IDBServer.cpp:
+(WebCore::IDBServer::IDBServer::getAllDatabaseNamesAndVersions): When iterating the set of all open
+  UniqueIDBDatabases, only add them to the results list if their origins match.
+
+* page/ClientOrigin.h:
+(WebCore::ClientOrigin::operator!= const):
+
+LayoutTests:
+
+* http/tests/security/getdatabases-crossorigin-expected.txt: Added.
+* http/tests/security/getdatabases-crossorigin.html: Added.
+* http/tests/security/resources/getdatabases-otherframe.html: Added.
+* http/tests/security/resources/getdatabases-otherwindow.html: Added.
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288078 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2022-01-16  Brady Eidson  
+
+database names leak cross-origin within the same browser session
+https://bugs.webkit.org/show_bug.cgi?id=233548
+
+Reviewed by Geoff Garen.
+
+* http/tests/security/getdatabases-crossorigin-expected.txt: Added.
+* http/tests/security/getdatabases-crossorigin.html: Added.
+* http/tests/security/resources/getdatabases-otherframe.html: Added.
+* http/tests/security/resources/getdatabases-otherwindow.html: Added.
+
 2022-01-07  Russell Epstein  
 
 Cherry-pick r286094. rdar://problem/87125111


Added: branches/safari-612.4.9.0-branch/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt (0 => 288082)

--- branches/safari-612.4.9.0-branch/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt	(rev 0)
+++ branches/safari-612.4.9.0-branch/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt	2022-01-17 03:49:56 UTC (rev 288082)
@@ -0,0 +1,4 @@
+CONSOLE MESSAGE: Message received from other context
+CONSOLE MESSAGE: Message received from other context
+CONSOLE MESSAGE: PASS
+


Added: branches/safari-612.4.9.0-branch/LayoutTests/http/tests/security/getdatabases-crossorigin.html (0 => 288082)

--- branches/safari-612.4.9.0-branch/LayoutTests/http/tests/security/getdatabases-crossorigin.html	(rev 0)
+++ branches/safari-612.4.9.0-branch/LayoutTests/http/tests/security/getdatabases-crossorigin.html	2022-01-17 03:49:56 UTC (rev 288082)
@@ -0,0 +1,43 @@
+
+
+
+
+
+if (window.location.hostname == "localhost")
+console.log("FAIL: Must be run as 127.0.0.1, not localhost");
+
+if 

[webkit-changes] [288081] branches/safari-612.4.9.1-branch

2022-01-16 Thread bshafiei
Title: [288081] branches/safari-612.4.9.1-branch








Revision 288081
Author bshaf...@apple.com
Date 2022-01-16 19:46:57 -0800 (Sun, 16 Jan 2022)


Log Message
Cherry-pick r288078. rdar://problem/85801310

database names leak cross-origin within the same browser session
https://bugs.webkit.org/show_bug.cgi?id=233548

Reviewed by Geoff Garen.

Source/WebCore:

Test: http/tests/security/getdatabases-crossorigin.html

* Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::getAllDatabaseNamesAndVersions): When iterating the set of all open
  UniqueIDBDatabases, only add them to the results list if their origins match.

* page/ClientOrigin.h:
(WebCore::ClientOrigin::operator!= const):

LayoutTests:

* http/tests/security/getdatabases-crossorigin-expected.txt: Added.
* http/tests/security/getdatabases-crossorigin.html: Added.
* http/tests/security/resources/getdatabases-otherframe.html: Added.
* http/tests/security/resources/getdatabases-otherwindow.html: Added.

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

Modified Paths

branches/safari-612.4.9.1-branch/LayoutTests/ChangeLog
branches/safari-612.4.9.1-branch/Source/WebCore/ChangeLog
branches/safari-612.4.9.1-branch/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp
branches/safari-612.4.9.1-branch/Source/WebCore/page/ClientOrigin.h


Added Paths

branches/safari-612.4.9.1-branch/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt
branches/safari-612.4.9.1-branch/LayoutTests/http/tests/security/getdatabases-crossorigin.html
branches/safari-612.4.9.1-branch/LayoutTests/http/tests/security/resources/getdatabases-otherframe.html
branches/safari-612.4.9.1-branch/LayoutTests/http/tests/security/resources/getdatabases-otherwindow.html




Diff

Modified: branches/safari-612.4.9.1-branch/LayoutTests/ChangeLog (288080 => 288081)

--- branches/safari-612.4.9.1-branch/LayoutTests/ChangeLog	2022-01-17 03:41:20 UTC (rev 288080)
+++ branches/safari-612.4.9.1-branch/LayoutTests/ChangeLog	2022-01-17 03:46:57 UTC (rev 288081)
@@ -1,3 +1,45 @@
+2022-01-16  Russell Epstein  
+
+Cherry-pick r288078. rdar://problem/85801310
+
+database names leak cross-origin within the same browser session
+https://bugs.webkit.org/show_bug.cgi?id=233548
+
+Reviewed by Geoff Garen.
+
+Source/WebCore:
+
+Test: http/tests/security/getdatabases-crossorigin.html
+
+* Modules/indexeddb/server/IDBServer.cpp:
+(WebCore::IDBServer::IDBServer::getAllDatabaseNamesAndVersions): When iterating the set of all open
+  UniqueIDBDatabases, only add them to the results list if their origins match.
+
+* page/ClientOrigin.h:
+(WebCore::ClientOrigin::operator!= const):
+
+LayoutTests:
+
+* http/tests/security/getdatabases-crossorigin-expected.txt: Added.
+* http/tests/security/getdatabases-crossorigin.html: Added.
+* http/tests/security/resources/getdatabases-otherframe.html: Added.
+* http/tests/security/resources/getdatabases-otherwindow.html: Added.
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288078 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2022-01-16  Brady Eidson  
+
+database names leak cross-origin within the same browser session
+https://bugs.webkit.org/show_bug.cgi?id=233548
+
+Reviewed by Geoff Garen.
+
+* http/tests/security/getdatabases-crossorigin-expected.txt: Added.
+* http/tests/security/getdatabases-crossorigin.html: Added.
+* http/tests/security/resources/getdatabases-otherframe.html: Added.
+* http/tests/security/resources/getdatabases-otherwindow.html: Added.
+
 2022-01-07  Russell Epstein  
 
 Cherry-pick r286094. rdar://problem/87125111


Added: branches/safari-612.4.9.1-branch/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt (0 => 288081)

--- branches/safari-612.4.9.1-branch/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt	(rev 0)
+++ branches/safari-612.4.9.1-branch/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt	2022-01-17 03:46:57 UTC (rev 288081)
@@ -0,0 +1,4 @@
+CONSOLE MESSAGE: Message received from other context
+CONSOLE MESSAGE: Message received from other context
+CONSOLE MESSAGE: PASS
+


Added: branches/safari-612.4.9.1-branch/LayoutTests/http/tests/security/getdatabases-crossorigin.html (0 => 288081)

--- branches/safari-612.4.9.1-branch/LayoutTests/http/tests/security/getdatabases-crossorigin.html	(rev 0)
+++ branches/safari-612.4.9.1-branch/LayoutTests/http/tests/security/getdatabases-crossorigin.html	2022-01-17 03:46:57 UTC (rev 288081)
@@ -0,0 +1,43 @@
+
+
+
+
+
+if (window.location.hostname == "localhost")
+console.log("FAIL: Must be run as 127.0.0.1, not localhost");
+
+if 

[webkit-changes] [288080] branches/safari-612.4.9.1-branch/Source

2022-01-16 Thread bshafiei
Title: [288080] branches/safari-612.4.9.1-branch/Source








Revision 288080
Author bshaf...@apple.com
Date 2022-01-16 19:41:20 -0800 (Sun, 16 Jan 2022)


Log Message
Versioning.

WebKit-7612.4.9.1.5

Modified Paths

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




Diff

Modified: branches/safari-612.4.9.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig (288079 => 288080)

--- branches/safari-612.4.9.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2022-01-17 03:36:58 UTC (rev 288079)
+++ branches/safari-612.4.9.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2022-01-17 03:41:20 UTC (rev 288080)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 9;
 MICRO_VERSION = 1;
-NANO_VERSION = 4;
+NANO_VERSION = 5;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.4.9.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (288079 => 288080)

--- branches/safari-612.4.9.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2022-01-17 03:36:58 UTC (rev 288079)
+++ branches/safari-612.4.9.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2022-01-17 03:41:20 UTC (rev 288080)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 9;
 MICRO_VERSION = 1;
-NANO_VERSION = 4;
+NANO_VERSION = 5;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.4.9.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (288079 => 288080)

--- branches/safari-612.4.9.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2022-01-17 03:36:58 UTC (rev 288079)
+++ branches/safari-612.4.9.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2022-01-17 03:41:20 UTC (rev 288080)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 9;
 MICRO_VERSION = 1;
-NANO_VERSION = 4;
+NANO_VERSION = 5;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.4.9.1-branch/Source/WebCore/Configurations/Version.xcconfig (288079 => 288080)

--- branches/safari-612.4.9.1-branch/Source/WebCore/Configurations/Version.xcconfig	2022-01-17 03:36:58 UTC (rev 288079)
+++ branches/safari-612.4.9.1-branch/Source/WebCore/Configurations/Version.xcconfig	2022-01-17 03:41:20 UTC (rev 288080)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 9;
 MICRO_VERSION = 1;
-NANO_VERSION = 4;
+NANO_VERSION = 5;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.4.9.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (288079 => 288080)

--- branches/safari-612.4.9.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2022-01-17 03:36:58 UTC (rev 288079)
+++ branches/safari-612.4.9.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2022-01-17 03:41:20 UTC (rev 288080)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 9;
 MICRO_VERSION = 1;
-NANO_VERSION = 4;
+NANO_VERSION = 5;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.4.9.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (288079 => 288080)

--- branches/safari-612.4.9.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2022-01-17 03:36:58 UTC (rev 288079)
+++ branches/safari-612.4.9.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2022-01-17 03:41:20 UTC (rev 288080)
@@ -2,7 +2,7 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 9;
 MICRO_VERSION = 1;
-NANO_VERSION = 4;
+NANO_VERSION = 5;
 FULL_VERSION = 

[webkit-changes] [288079] branches/safari-612.4.9.0-branch/Source

2022-01-16 Thread bshafiei
Title: [288079] branches/safari-612.4.9.0-branch/Source








Revision 288079
Author bshaf...@apple.com
Date 2022-01-16 19:36:58 -0800 (Sun, 16 Jan 2022)


Log Message
Versioning.

WebKit-7612.4.9.0.3

Modified Paths

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




Diff

Modified: branches/safari-612.4.9.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig (288078 => 288079)

--- branches/safari-612.4.9.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2022-01-17 03:35:16 UTC (rev 288078)
+++ branches/safari-612.4.9.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2022-01-17 03:36:58 UTC (rev 288079)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 9;
 MICRO_VERSION = 0;
-NANO_VERSION = 2;
+NANO_VERSION = 3;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.4.9.0-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (288078 => 288079)

--- branches/safari-612.4.9.0-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2022-01-17 03:35:16 UTC (rev 288078)
+++ branches/safari-612.4.9.0-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2022-01-17 03:36:58 UTC (rev 288079)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 9;
 MICRO_VERSION = 0;
-NANO_VERSION = 2;
+NANO_VERSION = 3;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.4.9.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (288078 => 288079)

--- branches/safari-612.4.9.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2022-01-17 03:35:16 UTC (rev 288078)
+++ branches/safari-612.4.9.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2022-01-17 03:36:58 UTC (rev 288079)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 9;
 MICRO_VERSION = 0;
-NANO_VERSION = 2;
+NANO_VERSION = 3;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.4.9.0-branch/Source/WebCore/Configurations/Version.xcconfig (288078 => 288079)

--- branches/safari-612.4.9.0-branch/Source/WebCore/Configurations/Version.xcconfig	2022-01-17 03:35:16 UTC (rev 288078)
+++ branches/safari-612.4.9.0-branch/Source/WebCore/Configurations/Version.xcconfig	2022-01-17 03:36:58 UTC (rev 288079)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 9;
 MICRO_VERSION = 0;
-NANO_VERSION = 2;
+NANO_VERSION = 3;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.4.9.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (288078 => 288079)

--- branches/safari-612.4.9.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2022-01-17 03:35:16 UTC (rev 288078)
+++ branches/safari-612.4.9.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2022-01-17 03:36:58 UTC (rev 288079)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 9;
 MICRO_VERSION = 0;
-NANO_VERSION = 2;
+NANO_VERSION = 3;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.4.9.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (288078 => 288079)

--- branches/safari-612.4.9.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2022-01-17 03:35:16 UTC (rev 288078)
+++ branches/safari-612.4.9.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2022-01-17 03:36:58 UTC (rev 288079)
@@ -2,7 +2,7 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 9;
 MICRO_VERSION = 0;
-NANO_VERSION = 2;
+NANO_VERSION = 3;
 FULL_VERSION = 

[webkit-changes] [288078] trunk

2022-01-16 Thread beidson
Title: [288078] trunk








Revision 288078
Author beid...@apple.com
Date 2022-01-16 19:35:16 -0800 (Sun, 16 Jan 2022)


Log Message
database names leak cross-origin within the same browser session
https://bugs.webkit.org/show_bug.cgi?id=233548

Reviewed by Geoff Garen.

Source/WebCore:

Test: http/tests/security/getdatabases-crossorigin.html

* Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::getAllDatabaseNamesAndVersions): When iterating the set of all open
  UniqueIDBDatabases, only add them to the results list if their origins match.

* page/ClientOrigin.h:
(WebCore::ClientOrigin::operator!= const):

LayoutTests:

* http/tests/security/getdatabases-crossorigin-expected.txt: Added.
* http/tests/security/getdatabases-crossorigin.html: Added.
* http/tests/security/resources/getdatabases-otherframe.html: Added.
* http/tests/security/resources/getdatabases-otherwindow.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp
trunk/Source/WebCore/page/ClientOrigin.h


Added Paths

trunk/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt
trunk/LayoutTests/http/tests/security/getdatabases-crossorigin.html
trunk/LayoutTests/http/tests/security/resources/getdatabases-otherframe.html
trunk/LayoutTests/http/tests/security/resources/getdatabases-otherwindow.html




Diff

Modified: trunk/LayoutTests/ChangeLog (288077 => 288078)

--- trunk/LayoutTests/ChangeLog	2022-01-17 01:04:56 UTC (rev 288077)
+++ trunk/LayoutTests/ChangeLog	2022-01-17 03:35:16 UTC (rev 288078)
@@ -1,3 +1,15 @@
+2022-01-16  Brady Eidson  
+
+database names leak cross-origin within the same browser session
+https://bugs.webkit.org/show_bug.cgi?id=233548
+
+Reviewed by Geoff Garen.
+
+* http/tests/security/getdatabases-crossorigin-expected.txt: Added.
+* http/tests/security/getdatabases-crossorigin.html: Added.
+* http/tests/security/resources/getdatabases-otherframe.html: Added.
+* http/tests/security/resources/getdatabases-otherwindow.html: Added.
+
 2022-01-16  Fujii Hironori  
 
 [WinCairo] Unreviewed test gardening


Added: trunk/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt (0 => 288078)

--- trunk/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt	(rev 0)
+++ trunk/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt	2022-01-17 03:35:16 UTC (rev 288078)
@@ -0,0 +1,4 @@
+CONSOLE MESSAGE: Message received from other context
+CONSOLE MESSAGE: Message received from other context
+CONSOLE MESSAGE: PASS
+


Added: trunk/LayoutTests/http/tests/security/getdatabases-crossorigin.html (0 => 288078)

--- trunk/LayoutTests/http/tests/security/getdatabases-crossorigin.html	(rev 0)
+++ trunk/LayoutTests/http/tests/security/getdatabases-crossorigin.html	2022-01-17 03:35:16 UTC (rev 288078)
@@ -0,0 +1,43 @@
+
+
+
+
+
+if (window.location.hostname == "localhost")
+console.log("FAIL: Must be run as 127.0.0.1, not localhost");
+
+if (window.testRunner) {
+testRunner.dumpAsText();
+testRunner.waitUntilDone();
+}
+
+var messagesReceived = 0;
+
+window._onmessage_ = function(event) {
+console.log("Message received from other context")
+
+if (++messagesReceived < 2)
+return;
+
+indexedDB.databases().then((result) => {
+databases = result;
+if (databases.length != 0)
+console.log("FAIL: There are " + databases.length + " database(s) when there should be 0");
+else
+console.log("PASS");
+if (testRunner)
+testRunner.notifyDone();
+});
+};
+
+function openOtherWindow()
+{
+window.open("http://localhost:8000/security/resources/getdatabases-otherwindow.html")
+}
+
+
+
+
+
+
\ No newline at end of file


Added: trunk/LayoutTests/http/tests/security/resources/getdatabases-otherframe.html (0 => 288078)

--- trunk/LayoutTests/http/tests/security/resources/getdatabases-otherframe.html	(rev 0)
+++ trunk/LayoutTests/http/tests/security/resources/getdatabases-otherframe.html	2022-01-17 03:35:16 UTC (rev 288078)
@@ -0,0 +1,9 @@
+
+
+indexedDB.deleteDatabase('getdatabase-otherframe')._onsuccess_ = () => {
+indexedDB.open('getdatabase-otherframe')._onsuccess_ = () => {
+window.parent.postMessage("Hi there!", "*");
+}
+}
+
+


Added: trunk/LayoutTests/http/tests/security/resources/getdatabases-otherwindow.html (0 => 288078)

--- trunk/LayoutTests/http/tests/security/resources/getdatabases-otherwindow.html	(rev 0)
+++ trunk/LayoutTests/http/tests/security/resources/getdatabases-otherwindow.html	2022-01-17 03:35:16 UTC (rev 288078)
@@ -0,0 +1,9 @@
+
+
+indexedDB.deleteDatabase('getdatabase-otherwindow')._onsuccess_ = () => {
+indexedDB.open('getdatabase-otherwindow')._onsuccess_ = () => {
+  

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

2022-01-16 Thread mmaxfield
Title: [288077] trunk/Source/WebCore








Revision 288077
Author mmaxfi...@apple.com
Date 2022-01-16 17:04:56 -0800 (Sun, 16 Jan 2022)


Log Message
[Win] Use character names instead of codepoint values in overrideControlCharacters()
https://bugs.webkit.org/show_bug.cgi?id=235283

Reviewed by Cameron McCormack.

It's simply easier to read.

No new tests because there is no behavior change.

* platform/graphics/Font.cpp:
(WebCore::overrideControlCharacters):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/Font.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (288076 => 288077)

--- trunk/Source/WebCore/ChangeLog	2022-01-16 22:10:02 UTC (rev 288076)
+++ trunk/Source/WebCore/ChangeLog	2022-01-17 01:04:56 UTC (rev 288077)
@@ -1,3 +1,17 @@
+2022-01-16  Myles C. Maxfield  
+
+[Win] Use character names instead of codepoint values in overrideControlCharacters()
+https://bugs.webkit.org/show_bug.cgi?id=235283
+
+Reviewed by Cameron McCormack.
+
+It's simply easier to read.
+
+No new tests because there is no behavior change.
+
+* platform/graphics/Font.cpp:
+(WebCore::overrideControlCharacters):
+
 2022-01-16  Cameron McCormack  
 
 Ensure in flight layer transactions don't accumulate further canvas drawing


Modified: trunk/Source/WebCore/platform/graphics/Font.cpp (288076 => 288077)

--- trunk/Source/WebCore/platform/graphics/Font.cpp	2022-01-16 22:10:02 UTC (rev 288076)
+++ trunk/Source/WebCore/platform/graphics/Font.cpp	2022-01-17 01:04:56 UTC (rev 288077)
@@ -333,11 +333,11 @@
 };
 
 // Code points 0x0 - 0x20 and 0x7F - 0xA0 are control character and shouldn't render. Map them to ZERO WIDTH SPACE.
-overwriteCodePoints(0x0, 0x20, zeroWidthSpace);
-overwriteCodePoints(0x7F, 0xA0, zeroWidthSpace);
+overwriteCodePoints(nullCharacter, space, zeroWidthSpace);
+overwriteCodePoints(deleteCharacter, noBreakSpace, zeroWidthSpace);
 overwriteCodePoint(softHyphen, zeroWidthSpace);
-overwriteCodePoint('\n', space);
-overwriteCodePoint('\t', space);
+overwriteCodePoint(newlineCharacter, space);
+overwriteCodePoint(tabCharacter, space);
 overwriteCodePoint(noBreakSpace, space);
 overwriteCodePoint(leftToRightMark, zeroWidthSpace);
 overwriteCodePoint(rightToLeftMark, zeroWidthSpace);






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


[webkit-changes] [288076] trunk/Source

2022-01-16 Thread heycam
Title: [288076] trunk/Source








Revision 288076
Author hey...@apple.com
Date 2022-01-16 14:10:02 -0800 (Sun, 16 Jan 2022)


Log Message
Ensure in flight layer transactions don't accumulate further canvas drawing
https://bugs.webkit.org/show_bug.cgi?id=231163


Reviewed by Simon Fraser.

Source/WebCore:

When UI side compositing is enabled (as it is on iOS), we build a
layer tree transaction in RemoteLayerTreeDrawingArea::updateRendering to
send off to the UI process. At a high level, updateRendering does this:

1. Run any requestAnimationFrame callbacks
2. Iterate over the composited layers to draw their contents into the
   layer backing stores
3. Dispatch a task to a different thread to flush the contexts of the
   layer backing stores and then send the transaction to the UI
   process

Step 3 is done off a separate task as an optimization, to get the
drawing work queued up by step 2 happening in parallel to any work the
page may day once updateRendering is finished. This can be a problem
when:

- GPU process canvas rendering is enabled (but DOM rendering is
  disabled)
- we have accelerated ImageBuffers for both layer backing stores and
  canvas backing stores
- the page does canvas drawing between steps 2 and 3, which affects
  the contents of a canvas backing store IOSurface that was drawn into
  a layer backing store IOSurface while building the transaction

The way we draw the canvas contents into the layer is by creating a
CGImage from the canvas backing store ImageBuffer's IOSurface.
Normally, if we draw into an IOSurface that has been wrapped by a
CGImage, this will cause the CGImage to obtain a unique copy of the
IOSurface's pixels, rather than continue holding on to the IOSurface
itself.

When the drawing of this CGImage on to the layer backing store
IOSurface happens, the "draw image" command is queued up to be
processed later. It's only when the flush happens in step 3 above that
the drawing occurs. This means that the CGImage wrapping the IOSurface
exists until that flush.

But while the CGImage does exist, it's in the Web process, and the
canvas drawing on to the same IOSurface happens in the GPU process.
Since QuartzCore doesn't know of its existence, it doesn't cause the
copy-on-write to occur. The effect of this is that subsequent page
drawing on to the canvas can make its way into the layer transaction
unexpectedly.

This patch induces the copy-on-write in the Web process when needed,
by tracking whether a canvas has been drawn into a layer backing
store and the layer transaction flush hasn't happened yet. Just before
we do any more drawing on the canvas, if we are in this state, we
perform a no-op drawing command on the IOSurface, then flush, to make
the CGImage copy the IOSurface data out.

* html/HTMLCanvasElement.cpp:
(WebCore::imageDrawingRequiresGuardAgainstUseByPendingLayerTransaction):
We only need to induce the CGImage copy-on-write behavior if both the
layer and canvas backing stores are accelerated, the canvas
ImageBuffer is remote, and the layer ImageBuffer is not remote.
(WebCore::HTMLCanvasElement::paint):
(WebCore::HTMLCanvasElement::drawingContext const):
Use drawingContext as a convenient single place to check whether we
are performing the first drawing command before the layer tree
transaction flush has happened.
* html/HTMLCanvasElement.h:
* page/Page.h:
(WebCore::Page::setIsAwaitingLayerTreeTransactionFlush):
(WebCore::Page::isAwaitingLayerTreeTransactionFlush const):
* platform/graphics/ImageBufferBackend.h:
(WebCore::ImageBufferBackend::ensureNativeImagesHaveCopiedBackingStore):
* platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:
(WebCore::ImageBufferIOSurfaceBackend::ensureNativeImagesHaveCopiedBackingStore):
The flush is needed since the CGImage wrapping the IOSurface will only
copy the pixel data out once the no-op drawing command is processed.
* platform/graphics/cg/ImageBufferIOSurfaceBackend.h:

Source/WebKit:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::willCommitLayerTree):
(WebKit::WebPage::didFlushLayerTreeAtTime):
Inform the WebCore::Page about the state of the layer tree transaction
building.
* WebProcess/WebPage/WebPage.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLCanvasElement.cpp
trunk/Source/WebCore/html/HTMLCanvasElement.h
trunk/Source/WebCore/page/Page.h
trunk/Source/WebCore/platform/graphics/ImageBufferBackend.h
trunk/Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp
trunk/Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (288075 => 288076)

--- trunk/Source/WebCore/ChangeLog	2022-01-16 21:44:55 UTC (rev 288075)
+++ trunk/Source/WebCore/ChangeLog	2022-01-16 22:10:02 UTC (rev 288076)
@@ -1,3 +1,84 @@
+2022-01-16  Cameron McCormack  
+
+Ensure in flight layer transactions don't accumulate further canvas drawing
+

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

2022-01-16 Thread ddkilzer
Title: [288075] trunk/Source/WTF








Revision 288075
Author ddkil...@apple.com
Date 2022-01-16 13:44:55 -0800 (Sun, 16 Jan 2022)


Log Message
[WTF] Add TollFreeBridging.h to Xcode project

Unreviewed follow-up for r284038:

   Switch WTF::bridge_cast to use type traits
   
   

* WTF.xcodeproj/project.pbxproj:
- Add TollFreeBridging.h to the project.

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/WTF.xcodeproj/project.pbxproj




Diff

Modified: trunk/Source/WTF/ChangeLog (288074 => 288075)

--- trunk/Source/WTF/ChangeLog	2022-01-16 21:34:17 UTC (rev 288074)
+++ trunk/Source/WTF/ChangeLog	2022-01-16 21:44:55 UTC (rev 288075)
@@ -1,3 +1,16 @@
+2022-01-16  David Kilzer  
+
+[WTF] Add TollFreeBridging.h to Xcode project
+
+Unreviewed follow-up for r284038:
+
+   Switch WTF::bridge_cast to use type traits
+   
+   
+
+* WTF.xcodeproj/project.pbxproj:
+- Add TollFreeBridging.h to the project.
+
 2022-01-15  Chris Dumez  
 
 Introduce dynamicDowncast<>() for convenience


Modified: trunk/Source/WTF/WTF.xcodeproj/project.pbxproj (288074 => 288075)

--- trunk/Source/WTF/WTF.xcodeproj/project.pbxproj	2022-01-16 21:34:17 UTC (rev 288074)
+++ trunk/Source/WTF/WTF.xcodeproj/project.pbxproj	2022-01-16 21:44:55 UTC (rev 288075)
@@ -406,6 +406,7 @@
 		430B47871C1A001223DA /* StringCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringCommon.h; sourceTree = ""; };
 		4427C5A921F6D6C300A612A4 /* ASCIICType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ASCIICType.cpp; sourceTree = ""; };
 		44309D4026EFC14A00402A67 /* NSObjCRuntimeSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NSObjCRuntimeSPI.h; sourceTree = ""; };
+		4434F91B27948A65007E3E8A /* TollFreeBridging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TollFreeBridging.h; sourceTree = ""; };
 		4468567225094FE8008CCA05 /* ThreadSanitizerSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadSanitizerSupport.h; sourceTree = ""; };
 		44CDE4D226EE6CDA009F6ACB /* TypeCastsCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TypeCastsCocoa.h; sourceTree = ""; };
 		46209A27266D543A007F8F4A /* CancellableTask.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CancellableTask.h; sourceTree = ""; };
@@ -1659,6 +1660,7 @@
 A30D412C1F0DE0BA00B71954 /* SoftLinking.h */,
 BC3FEB5E267FCD460054006A /* SpanCocoa.h */,
 EB61EDC62409CCC0001EFE36 /* SystemTracingCocoa.cpp */,
+4434F91B27948A65007E3E8A /* TollFreeBridging.h */,
 44CDE4D226EE6CDA009F6ACB /* TypeCastsCocoa.h */,
 5CC0EE862162BC2200A1A842 /* URLCocoa.mm */,
 93241657243BC2E50032FAAE /* VectorCocoa.h */,






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


[webkit-changes] [288074] trunk/Source/ThirdParty/ANGLE

2022-01-16 Thread ddkilzer
Title: [288074] trunk/Source/ThirdParty/ANGLE








Revision 288074
Author ddkil...@apple.com
Date 2022-01-16 13:34:17 -0800 (Sun, 16 Jan 2022)


Log Message
REGRESSION (r286603): Leak of three NSMutableDictionary objects each time rx::DisplayMtl::getMetalDeviceMatchingAttribute() is called



Reviewed by Darin Adler.

* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::getMetalDeviceMatchingAttribute):
- Make use of mtl::adoptObjCObj<> so these objects are relaseed
  when the method returns.

Modified Paths

trunk/Source/ThirdParty/ANGLE/ChangeLog
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm




Diff

Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (288073 => 288074)

--- trunk/Source/ThirdParty/ANGLE/ChangeLog	2022-01-16 20:51:53 UTC (rev 288073)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog	2022-01-16 21:34:17 UTC (rev 288074)
@@ -1,3 +1,16 @@
+2022-01-16  David Kilzer  
+
+REGRESSION (r286603): Leak of three NSMutableDictionary objects each time rx::DisplayMtl::getMetalDeviceMatchingAttribute() is called
+
+
+
+Reviewed by Darin Adler.
+
+* src/libANGLE/renderer/metal/DisplayMtl.mm:
+(rx::DisplayMtl::getMetalDeviceMatchingAttribute):
+- Make use of mtl::adoptObjCObj<> so these objects are relaseed
+  when the method returns.
+
 2022-01-14  Kyle Piddington  
 
 ANGLE: Supports32BitFloatFiltering is not supported on TVOS


Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm (288073 => 288074)

--- trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm	2022-01-16 20:51:53 UTC (rev 288073)
+++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm	2022-01-16 21:34:17 UTC (rev 288074)
@@ -238,22 +238,22 @@
 #if defined(ANGLE_PLATFORM_MACOS) || defined(ANGLE_PLATFORM_MACCATALYST)
 auto deviceList = mtl::adoptObjCObj(MTLCopyAllDevices());
 
-NSMutableArray> *externalGPUs   = [[NSMutableArray alloc] init];
-NSMutableArray> *integratedGPUs = [[NSMutableArray alloc] init];
-NSMutableArray> *discreteGPUs   = [[NSMutableArray alloc] init];
+auto externalGPUs = mtl::adoptObjCObj>>([[NSMutableArray alloc] init]);
+auto integratedGPUs = mtl::adoptObjCObj>>([[NSMutableArray alloc] init]);
+auto discreteGPUs = mtl::adoptObjCObj>>([[NSMutableArray alloc] init]);
 for (id device in deviceList.get())
 {
 if (device.removable)
 {
-[externalGPUs addObject:device];
+[externalGPUs.get() addObject:device];
 }
 else if (device.lowPower)
 {
-[integratedGPUs addObject:device];
+[integratedGPUs.get() addObject:device];
 }
 else
 {
-[discreteGPUs addObject:device];
+[discreteGPUs.get() addObject:device];
 }
 }
 // TODO(kpiddington: External GPU support. Do we prefer high power / low bandwidth for general
@@ -262,7 +262,7 @@
 if (attribs.get(EGL_POWER_PREFERENCE_ANGLE, 0) == EGL_HIGH_POWER_ANGLE)
 {
 // Search for a discrete GPU first.
-for (id device in discreteGPUs)
+for (id device in discreteGPUs.get())
 {
 if (![device isHeadless])
 return device;
@@ -271,7 +271,7 @@
 else if (attribs.get(EGL_POWER_PREFERENCE_ANGLE, 0) == EGL_LOW_POWER_ANGLE)
 {
 // If we've selected a low power device, look through integrated devices.
-for (id device in integratedGPUs)
+for (id device in integratedGPUs.get())
 {
 if (![device isHeadless])
 return device;
@@ -295,7 +295,7 @@
 }
 
 // Default to use a low power device, look through integrated devices.
-for (id device in integratedGPUs)
+for (id device in integratedGPUs.get())
 {
 if (![device isHeadless])
 return device;






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


[webkit-changes] [288073] trunk/LayoutTests

2022-01-16 Thread Hironori . Fujii
Title: [288073] trunk/LayoutTests








Revision 288073
Author hironori.fu...@sony.com
Date 2022-01-16 12:51:53 -0800 (Sun, 16 Jan 2022)


Log Message
[WinCairo] Unreviewed test gardening

After r288052 added editing/execCommand/paste-as-quotation-disconnected-paragraph-ancestor-crash.html,
WinCairo WK1 tests subsequent to the test case had been failing.
It looked like DRT output the result of the privous test case.

* platform/wincairo-wk1/TestExpectations: Skip the test case as well as AppleWin does.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/wincairo-wk1/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (288072 => 288073)

--- trunk/LayoutTests/ChangeLog	2022-01-16 09:08:43 UTC (rev 288072)
+++ trunk/LayoutTests/ChangeLog	2022-01-16 20:51:53 UTC (rev 288073)
@@ -1,3 +1,13 @@
+2022-01-16  Fujii Hironori  
+
+[WinCairo] Unreviewed test gardening
+
+After r288052 added editing/execCommand/paste-as-quotation-disconnected-paragraph-ancestor-crash.html,
+WinCairo WK1 tests subsequent to the test case had been failing.
+It looked like DRT output the result of the privous test case.
+
+* platform/wincairo-wk1/TestExpectations: Skip the test case as well as AppleWin does.
+
 2022-01-15  Sam Weinig  
 
 CSS Gradients: interpolation mode should default to OKLab if any non-legacy color syntax colors are used in the stops


Modified: trunk/LayoutTests/platform/wincairo-wk1/TestExpectations (288072 => 288073)

--- trunk/LayoutTests/platform/wincairo-wk1/TestExpectations	2022-01-16 09:08:43 UTC (rev 288072)
+++ trunk/LayoutTests/platform/wincairo-wk1/TestExpectations	2022-01-16 20:51:53 UTC (rev 288073)
@@ -459,3 +459,5 @@
 
 accessibility/aria-roledescription.html [ Timeout ]
 accessibility/visible-elements.html [ Timeout ]
+
+editing/execCommand/paste-as-quotation-disconnected-paragraph-ancestor-crash.html [ Skip ] # This test confuses DRT. See Bug 233463






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


[webkit-changes] [288072] trunk/Tools/buildstream

2022-01-16 Thread changseok
Title: [288072] trunk/Tools/buildstream








Revision 288072
Author changs...@webkit.org
Date 2022-01-16 01:08:43 -0800 (Sun, 16 Jan 2022)


Log Message
[Flatpak SDK] local build is broken
https://bugs.webkit.org/show_bug.cgi?id=235265

Reviewed by Philippe Normand.

The local build of Flatpak SDK is broken due to a missing reference to the freedesktop sdk.
This change updates the reference.

* elements/freedesktop-sdk.bst:

Modified Paths

trunk/Tools/buildstream/ChangeLog
trunk/Tools/buildstream/elements/freedesktop-sdk.bst




Diff

Modified: trunk/Tools/buildstream/ChangeLog (288071 => 288072)

--- trunk/Tools/buildstream/ChangeLog	2022-01-16 06:22:42 UTC (rev 288071)
+++ trunk/Tools/buildstream/ChangeLog	2022-01-16 09:08:43 UTC (rev 288072)
@@ -1,3 +1,15 @@
+2022-01-16  ChangSeok Oh  
+
+[Flatpak SDK] local build is broken
+https://bugs.webkit.org/show_bug.cgi?id=235265
+
+Reviewed by Philippe Normand.
+
+The local build of Flatpak SDK is broken due to a missing reference to the freedesktop sdk.
+This change updates the reference.
+
+* elements/freedesktop-sdk.bst:
+
 2021-11-30  Philippe Normand  
 
 [Flatpak SDK] Update to FDO 21.08.6 release


Modified: trunk/Tools/buildstream/elements/freedesktop-sdk.bst (288071 => 288072)

--- trunk/Tools/buildstream/elements/freedesktop-sdk.bst	2022-01-16 06:22:42 UTC (rev 288071)
+++ trunk/Tools/buildstream/elements/freedesktop-sdk.bst	2022-01-16 09:08:43 UTC (rev 288072)
@@ -3,7 +3,7 @@
 - kind: git_tag
   url: gitlab_com:freedesktop-sdk/freedesktop-sdk.git
   track: 'release/21.08'
-  ref: freedesktop-sdk-21.08.6-13-g6a4b45189f5087bd40f96757b9f970880aa8e5bc
+  ref: freedesktop-sdk-21.08.9-25-gfb49cd02a3869721e08be44e068979ce98da6da6
 config:
   options:
 target_arch: '%{arch}'






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