Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d1eb17d9b5dc2abf9d7bde49daf25d31fb62b7ef
      
https://github.com/WebKit/WebKit/commit/d1eb17d9b5dc2abf9d7bde49daf25d31fb62b7ef
  Author: Devin Rousso <[email protected]>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M LayoutTests/inspector/debugger/paused-scopes-expected.txt
    M LayoutTests/inspector/debugger/paused-scopes.html
    M Source/JavaScriptCore/runtime/JSLexicalEnvironment.cpp
    M Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp
    M Source/JavaScriptCore/runtime/SymbolTable.h

  Log Message:
  -----------
  Web Inspector: private symbols should not be shown in the scope chain
https://bugs.webkit.org/show_bug.cgi?id=255946

Reviewed by Patrick Angle.

The fact that private fields are implemented using a private `Symbol` is kinda 
sorta an implementation detail, so Web Inspector shouldn't be exposing them.

* Source/JavaScriptCore/runtime/JSLexicalEnvironment.cpp:
(JSC::JSLexicalEnvironment::getOwnSpecialPropertyNames):
* Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp:
(JSC::JSSymbolTableObject::getOwnSpecialPropertyNames):
Private properties should be ignored if `PropertyNameArray::privateSymbolMode` 
(in addition to already ignoring them based on 
`PropertyNameArray::includeSymbolProperties`).

* Source/JavaScriptCore/runtime/SymbolTable.h:
(JSC::SymbolTable::hasPrivateName const): Added.
Expose a way for callers to query if a given `UniquedStringImpl` is a private 
field.

* LayoutTests/inspector/debugger/paused-scopes.html:
* LayoutTests/inspector/debugger/paused-scopes-expected.txt:

Canonical link: https://commits.webkit.org/263513@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to